Странный вопрос: интересно, почему что-то работает :)
Я протестировал этот фрагмент кода на своем удаленном веб-сайте (где я определил настраиваемый тип сообщения с именем bateau
).
Он работает отлично, но мне интересно, почему: я не установил библиотеку CMB, и, насколько мне известно, у меня нет плагина, который использует эту библиотеку (хотя я пытался их выключить, но этот код все еще работает ).
Другими словами, фильтр cmb_meta_boxes
по неизвестной причине известен.
Какой механизм создает настраиваемый метабокс? Я не вижу add_meta_box()
в этом коде.
function bateau_metaboxes( $meta_boxes ) {
$prefix = ""; // Prefix for all fields
$meta_boxes['bateau_metabox'] = array(
'id' => 'bateau_metabox',
'title' => 'Saisir les informations sur le bateau :',
'pages' => array('bateau'), // post type
'context' => 'normal',
'priority' => 'high',
'show_names' => true, // Show field names on the left
'fields' => array(
array(
'name' => 'Nom du bateau :',
'id' => $prefix . 'bateau_nom',
'desc' => 'Nom du bateau tel qu\'il est écrit dans le titre ci-dessus',
'type' => 'text'
),
),
);
return $meta_boxes;
}
add_filter( 'cmb_meta_boxes', 'bateau_metaboxes' );
Примечание: тот же код, что и выше, не отображает метабокс на локальном сайте WP.