我正在使用此版本(http://www.deluxeblogtips.com/meta-box-script-for-wordpress/)元框脚本,但我想能够限制元框显示的编辑屏幕。
例如,如果我只想在“联系人”页面编辑屏幕中显示一个元框,是否可能?
$meta_boxes[] = array(
\'id\' => \'project-box-1\', // meta box id, unique per meta box
\'title\' => \'Project Box 1\', // meta box title
\'pages\' => array(\'page\'), // post types, accept custom post types as well, default is array(\'post\'); optional
\'context\' => \'normal\', // where the meta box appear: normal (default), advanced, side; optional
\'priority\' => \'high\', // order of meta box: high (default), low; optional
最合适的回答,由SO网友:Chip Bennett 整理而成
在您的add_meta_boxex
钩子回调函数,您将有一个add_meta_box()
呼叫使用来自$post
全球(我相当肯定它在edit.php
). 例如,您可以使用页面ID或slug。
页面ID:
global $post;
if ( \'123\' == $post->ID ) {
// Page has ID of 123, add meta box
add_meta_box( $args );
}
页面段塞:
global $post;
$slug = basename( get_permalink( $post->ID ) );
if ( \'contact\' == $slug ) {
// Page has ID of 123, add meta box
add_meta_box( $args );
}
注意:您也可以针对编辑。php页面,使用
$pagenow
全球,例如:
global $pagenow, $page;
if ( \'edit.php\' = $pagenow && \'123\' == $post->ID ) {
add_meta_box( $args );
}
然而,仅针对适当的
add_meta_boxes
挂接您的回拨。例如,您的
add_action()
呼叫可能如下所示:
add_action( \'add_meta_boxes\', \'callback_function_name\' );
但是,您可以使用
add_meta_boxes_{post_type}
挂钩,特别是目标页面:
add_action( \'add_meta_boxes_page\', \'callback_function_name\' );
这样,回调只能在页面post类型上下文中调用。