2010-03-31 14 views
2

我需要一种方法来限制元框为一个页面(ID = 84)...如果我做了以下工作,但sbumit数据不通过,数据不会保存...如何限制wordpress meta_box到单个页面?

add_action('admin_init','violin_init'); 

function violin_init() 
{ 
    if ($_GET['post'] == '84') 
    { 
     wp_enqueue_style('violin_admin_css', VIOLIN_THEME_PATH . '/custom/meta.css'); 

     add_meta_box('violin_options_meta', 'Highlight Content', 'violin_options_meta', 'page', 'normal', 'high'); 

     add_action('save_post','violin_save_meta'); 
    } 
} 

回答

1

我找到一个可行的解决方案,但我希望有通过WordPress的API和/或WordPress的全局变量的一个办法......

了以下工作:

if ($_GET['post'] == '84' OR $_REQUEST['post_ID'] == '84') 

另外您还可以按特定模板进行过滤:

$post_id = $_GET['post'] ? $_GET['post'] : $_POST['post_ID'] ; 

$template_file = get_post_meta($post_id,'_wp_page_template',TRUE); 

if ($template_file == 'home.php') {} // by template file 

if ($post_id == 84) {} // by page ID 

我写了一篇博客文章就可以了:Page Specific WordPress Meta Box