我正在使用Magic Fields 2 用于自定义元框和自定义字段,但这种情况适用于任何元框。
我有一个自定义的元框,我只想显示在3个特定的页面ID上。
function mf_1_remove_meta_boxes() {
if( !in_array($_GET[\'post\'], array(\'194\',\'185\',\'2\') ) ):
remove_meta_box( \'mf_1\', \'page\', \'normal\' );
}
使用更新
Bainternet\'s solution, 代码起作用。尽管如此,一个新问题变得显而易见。创建新页面时,元框立即可见,然后在页面保存后消失,因为ID与指定的ID不匹配。
更新2修改了上述代码,以更正新(未保存)页面上出现元框的问题。它也被修改为一个完整的工作代码。将删除所有用户的元框。
要删除除管理员以外的所有人的元框,请执行以下操作:
function mf_1_remove_meta_boxes() {
if( !is_admin())
return;
if( !in_array($_GET[\'post\'], array(\'194\',\'185\',\'2\') ) ):
remove_meta_box( \'mf_1\', \'page\', \'normal\' );
}
最合适的回答,由SO网友:Bainternet 整理而成
一个简单而干净的解决方案就是使用!in\\u阵列ex:
function mf_1_remove_meta_boxes() {
if( !is_admin() && !isset( $_GET[\'post\'] ) )
return;
if( !in_array($_GET[\'post\'], array(\'194\',\'185\',\'2\') ) )
remove_meta_box( \'mf_1\', \'page\', \'normal\' );
}
这样,您就可以在数组中添加ID,并且可以添加任意数量的ID