2014-01-17 52 views
0

我已經使用選項樹框架創建了自定義元框。它顯示每個頁面。我希望它只會顯示特定頁面。我怎樣才能做到這一點?WP爲特定頁面模板定製元框

我寫了這個代碼到functions.php文件

add_action('admin_init', 'custom_meta_boxes'); 

function custom_meta_boxes() { 

    $latest_work = array(
'id'   => 'latest_work', 
'title'  => 'latest-work Meta Box', 
'desc'  => '', 
'pages'  => array('page'), 
'context'  => 'normal', 
'priority' => 'high', 
'fields'  => array(
    array(
    'label'  => 'latest-work', 
    'id'   => 'latest-work', 
    'type'  => 'text', 
    'desc'  => 'Tell about your latest work', 
    'std'   => '', 
    'rows'  => '', 
    'post_type' => '', 
    'taxonomy' => '', 
    'class'  => '' 
) 
) 
); 
ot_register_meta_box($latest_work); 
} 

請告訴我,我該怎麼辦呢?

+0

你是什麼意思的特定頁面? –

+0

首頁,博客頁面,關於頁面等 – Bir

+0

你無法檢測到管理面板中的特定頁面 –

回答

0
add_action('admin_menu', 'remove_post_meta_boxes'); 

function remove_post_meta_boxes() { 
    // lets assume blog page has the id 23 
    // let's remove the meta box from blog 
    if(isset($_GET['post']) && $_GET['post'] == 23){ 
     remove_meta_box('latest_work', 'page', 'normal'); 
    } 
} 

看看以瞭解更多信息remove_meta_box()

+0

它不起作用。它仍然在博客頁面上 – Bir

0

使用下。

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

    // checks for post/page ID for example i have added 7 

    if ($post_id == '7'){ 
/.add_meta box code inside 
}