程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 詳解WordPress中提醒安裝插件以及隱藏插件的功能實現,

詳解WordPress中提醒安裝插件以及隱藏插件的功能實現,

編輯:關於PHP編程

詳解WordPress中提醒安裝插件以及隱藏插件的功能實現,


提醒用戶當前主題需要的插件
很多主題都需要一些插件的支持,這時你就需要提醒用戶需要安裝的插件,本文將教你,怎麼在後台顯眼的位置提醒用戶當前主題要安裝的插件。

最終的效果類似下圖:

20151225150448456.png (669×279)

只需要用 admin_notices 鉤子,在後台標題下邊輸出一個警告框,再用 is_plugin_active() 函數判斷插件是否啟用即可。

/**
  *WordPress 提醒用戶當前主題需要的插件
  *http://www.endskin.com/plugins-messages/
*/
function Bing_plugins_messages(){
  $plugin_messages = array();
  include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
 
  //必須安裝 WordPress SEO 插件
  if( !is_plugin_active( 'wordpress-seo/-seo.php' ) ) $plugin_messages[] = '當前主題要求必須安裝並啟用 WordPress SEO 插件,<a href="http://wordpress.org/plugins/wordpress-seo/" target="_blank">點擊下載此插件</a>';
 
  //必須安裝 Simple URLs 插件
  if( !is_plugin_active( 'simple-urls/plugin.php' ) ) $plugin_messages[] = '當前主題要求必須安裝並啟用 Simple URLs 插件,<a href="http://wordpress.org/plugins/simple-urls/" target="_blank">點擊下載此插件</a>';
 
  //必須安裝 Bing Phone 插件
  if( !is_plugin_active( 'Bing-Phone/Bing-Phone.php' ) ) $plugin_messages[] = '當前主題要求必須安裝並啟用 Bing-Phone 插件,<a href="http://www.bgbk.org/wp-theme-bing-phone.html" target="_blank">點擊下載此插件</a>';
 
  if( count( $plugin_messages ) > 0 ){
    echo '<div id="message" class="error">';
      foreach( $plugin_messages as $message ) echo '<p><strong>' . $message . '</strong></p>';
    echo '</div>';
  }
}
add_action( 'admin_notices', 'Bing_plugins_messages' );

在插件列表隱藏某些插件
在給客戶開發 WordPress 網站的時候,通常都會給客戶一個管理員賬戶,所以客戶完全有能力修改網站的主題、插件、用戶和一些關鍵設置。

但有些時候用戶會不小心做出一些誤操作,比如停用了必須的插件,針對這種情況,我們可以把某些插件在插件列表中隱藏,而實際上插件還是在正常運行的。

下邊的代碼在插件列表隱藏了 WP Crontrol 和 User Switching 兩個插件,在插件停用的時候依然可以看到插件,只有插件啟用時插件才會被從列表中隱藏。

/**
  *WordPress 在插件列表隱藏某些插件
  *http://www.endskin.com/hide-plugins/
*/
function Bing_hide_plugins( $plugins ){
 
  //隱藏 WP Crontrol 插件
  $plugin = 'wp-crontrol/wp-crontrol.php';
  if( is_plugin_active( $plugin ) ) unset( $plugins[$plugin] );
 
  //隱藏 User Switching 插件
  $plugin = 'user-switching/user-switching.php';
  if( is_plugin_active( $plugin ) ) unset( $plugins[$plugin] );
 
  return $plugins;
}
add_filter( 'all_plugins', 'Bing_hide_plugins' );

您可能感興趣的文章:

  • 給WordPress的編輯後台添加提示框的代碼實例分享
  • 詳解WordPress開發中過濾屬性以及Sql語句的函數使用
  • WordPress中編寫自定義存儲字段的相關PHP函數解析
  • 講解WordPress中用於獲取評論模板和搜索表單的PHP函數

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved