如何从主题/插件中完全删除小部件支持?
比如删除“外观->小部件”页面,防止WP加载小部件类和所有与小部件相关的内容。
如何从主题/插件中完全删除小部件支持?
比如删除“外观->小部件”页面,防止WP加载小部件类和所有与小部件相关的内容。
一种选择是简单地将小部件代码从侧栏中清除出来。php文件,以及使用小部件的页眉/页脚/贴子页。
但是,请看一下此代码片段(由this site), 可以将其添加到函数中。php文件,并将禁用小部件。我认为,如果您希望更改主题并且禁用小部件,那么这将是一种更干净的方法。
<?php
add_filter( ‘sidebars_widgets’, ‘disable_all_widgets’ );
function disable_all_widgets( $sidebars_widgets )
{
if ( is_home() ) $sidebars_widgets = array( false );
return $sidebars_widgets;
}
?>
请注意,这只会禁用主页上的小部件,因此您需要为各个页面/帖子等找到附加条件。如果您使用widgets.php
, 那么就这么简单了:
// final function makes most sense
// (useing stuff like `$GLOBALS[\'wp_widget_factory\']` will do nothing better than this ex.)
// place inside your functions.php
unregister_widget( \'some widget\' );
// if my search results are right, these should be the available default widgets
// from /wp-includes/widgets.php
Line 389: \'wp_widget_pages\',
Line 390: \'wp_widget_pages_control\',
Line 391: \'wp_widget_calendar\',
Line 392: \'wp_widget_calendar_control\',
Line 393: \'wp_widget_archives\',
Line 394: \'wp_widget_archives_control\',
Line 395: \'wp_widget_links\',
Line 396: \'wp_widget_meta\',
Line 397: \'wp_widget_meta_control\',
Line 398: \'wp_widget_search\',
Line 399: \'wp_widget_recent_entries\',
Line 400: \'wp_widget_recent_entries_control\',
Line 401: \'wp_widget_tag_cloud\',
Line 402: \'wp_widget_tag_cloud_control\',
Line 403: \'wp_widget_categories\',
Line 404: \'wp_widget_categories_control\',
Line 405: \'wp_widget_text\',
Line 406: \'wp_widget_text_control\',
Line 407: \'wp_widget_rss\',
Line 408: \'wp_widget_rss_control\',
Line 409: \'wp_widget_recent_comments\',
Line 410: \'wp_widget_recent_comments_control\'
remove_theme_support(\'widgets\') 无法工作,因为:
function remove_theme_support( $feature ) {
// Blacklist: for internal registrations not used directly by themes.
if ( in_array( $feature, array( \'editor-style\', \'widgets\', \'menus\' ) ) )
return false;
return _remove_theme_support( $feature );
}
“Widgets”菜单项is added by wp_widgets_add_menu()
, 在_admin_menu
钩as set up by wp_maybe_load_widgets()
. 您可以通过将其从_admin_menu
或为返回falseload_default_widgets
.
您还可以按照Bainternet的建议注销所有侧栏,并且remove_theme_support( \'widgets\' )
.
wordpress管理面板和登录页面wp如何登录。php是否被隐藏,以便只有网站管理员才能访问?URL是否可以通过某种mod\\u重写规则重写,而不用担心破坏任何东西(抛开所有插件)?最好的解决方案不应基于IP地址,这意味着管理员只能从一台或一组计算机访问网站。