2012-03-18 2 views
1

Есть ли способ добавить метабокс для определенной страницы, я хочу, чтобы метабокс отображался только на странице «X» в администраторе, есть ли аргумент или что-то, что вы можете указать, чтобы достичь этого?Wordpress custom metabox для определенной страницы

+0

Я нашел способ использовать $ _GET ... купить Я не знаю, лучший вариант! – Uffo

ответ

2

Для этого я использую отличный Core Metabox Library. Его очень легко реализовать, и я могу сделать почти что угодно, насколько я могу судить.

Это из соответствующей GitHub wiki страницы:

$meta_boxes[] = array(
     'id' => 'contact-information', 
     'title' => 'Contact Information', 
     'pages' => array('page'), // post type 
     'show_on' => array('key' => 'id', 'value' => array(50, 24)), 
     'context' => 'normal', // 'normal', 'advanced', or 'side' 
     'priority' => 'high', // 'high', 'core', 'default' or 'low' 
     'show_names' => true, // Show field names on the left 
     'fields' => array(

Тип show_on фильтра (ключ) является «идентификатор» и значение для этого фильтра представляет собой массив из ваших идентификаторов. Если вы только хотели его на странице About, вы могли бы использовать 'value' => 50 вместо того, чтобы помещать его в массив.

Если вы не хотите использовать библиотеку, вы можете найти больше подсказок, взглянув внутрь: по строке 100 init.php библиотеки, он делает что-то вроде:

if(conditions_met()) 
     add_meta_box(params) ; 

(Серьезно, хотя - просто используйте все это - он загружает, tinymce, таксономии, работы!)

Надеюсь, что поможет! Tim

Смежные вопросы