我想隐藏插件“All-in-one seo”添加到后期编辑屏幕的不必要的自定义字段。为此,我向函数中添加了以下代码。php:
function my_remove_meta_boxes() {
remove_meta_box(\'aiosp_noindex_wrapper\', \'post\', \'normal\');
remove_meta_box(\'aiosp_nofollow_wrapper\', \'post\', \'normal\');
remove_meta_box(\'aiosp_noodp_wrapper\', \'post\', \'normal\');
remove_meta_box(\'aiosp_noydir_wrapper\', \'post\', \'normal\');
remove_meta_box(\'aiosp_disable_wrapper\', \'post\', \'normal\');
remove_meta_box(\'aiosp_disable_analytics_wrapper\',\'post\', \'normal\');
}
add_action( \'add_meta_boxes_post\', \'my_remove_meta_boxes\', 10, 2 );
但这并不像预期的那样有效。这个
$id
提供给的参数
remove_meta_box
上述函数取自相应自定义字段的html div元素的id属性。例如:
<div id="aiosp_keywords_wrapper" class="aioseop_wrapper aioseop_text_type">
<div class="aioseop_input">
...
</div>
Update
遵循
instructions bueltge提供了一个使用jquery的解决方案:
将以下函数放入函数中。php:
function remove_all_in_one_seo_fields() {
$screen = get_current_screen();
if ( $screen->parent_file != "edit.php" )
return;
wp_enqueue_script( \'custom\', get_template_directory_uri() . \'/js/custom.js\', array(), null, true );
}
add_action( \'admin_footer\', \'remove_all_in_one_seo_fields\', 10, 2 );
这里是js/custom。js文件:
( function( $ ) {
// hide "all in one seo" fields
( function() {
$(\'#aiosp_noindex_wrapper\').remove();
$(\'#aiosp_nofollow_wrapper\').remove();
$(\'#aiosp_noodp_wrapper\').remove();
$(\'#aiosp_noydir_wrapper\').remove();
$(\'#aiosp_disable_wrapper\').remove();
$(\'#aiosp_disable_analytics_wrapper\').remove();
} )();
})( jQuery );