問題描述
我有 2 個博客,一個是多站點,一個不是。我想得到一個在博客上活動的插件列表,所以我可以比較它們。在多站點博客上,我想列出啓用 network-wide 以及站點範圍的插件。
最佳解決方案
激活的插件存儲在 WordPress 博客的選項表下的 active_plugins
所以您可以使用每個博客的 get_option('active_plugins'); 並比較數組。
次佳解決方案
以 Dashboard Widget 的形式,一個用於單個站點和網絡站點儀錶板,另一個用於多站點網絡儀錶板。
/*
* Single Site Dashboard Widget
*/
add_action('wp_dashboard_setup', 'wpse_54742_wp_dashboard_setup');
function wpse_54742_wp_dashboard_setup() {
wp_add_dashboard_widget( 'wpse_54742_active_site_plugins', __( 'Active Plugins' ), 'wpse_54742_active_site_plugins' );
}
function wpse_54742_active_site_plugins() {
$the_plugs = get_option('active_plugins');
echo '<ul>';
foreach($the_plugs as $key => $value) {
$string = explode('/',$value); // Folder name will be displayed
echo '<li>'.$string[0] .'</li>';
}
echo '</ul>';
}
/*
* Multisite Dashboard Widget
*/
add_action('wp_network_dashboard_setup', 'wpse_54742_network_dashboard_setup');
function wpse_54742_network_dashboard_setup() {
wp_add_dashboard_widget( 'wpse_54742_active_network_plugins', __( 'Network Active Plugins' ), 'wpse_54742_active_network_plugins' );
}
function wpse_54742_active_network_plugins() {
/*
* Network Activated Plugins
*/
$the_plugs = get_site_option('active_sitewide_plugins');
echo '<h3>NETWORK ACTIVATED</h3><ul>';
foreach($the_plugs as $key => $value) {
$string = explode('/',$key); // Folder name will be displayed
echo '<li>'.$string[0] .'</li>';
}
echo '</ul>';
/*
* Iterate Through All Sites
*/
global $wpdb;
$blogs = $wpdb->get_results($wpdb->prepare("
SELECT blog_id
FROM {$wpdb->blogs}
WHERE site_id = '{$wpdb->siteid}'
AND spam = '0'
AND deleted = '0'
AND archived = '0'
"));
echo '<h3>ALL SITES</h3>';
foreach ($blogs as $blog) {
$the_plugs = get_blog_option($blog->blog_id, 'active_plugins');
echo '<hr /><h4><strong>SITE</strong>: '. get_blog_option($blog->blog_id, 'blogname') .'</h4>';
echo '<ul>';
foreach($the_plugs as $key => $value) {
$string = explode('/',$value); // Folder name will be displayed
echo '<li>'.$string[0] .'</li>';
}
echo '</ul>';
}
}
參考文獻
注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。