Я пытаюсь загрузить свое настраиваемое поле для всех сообщений, страниц и всех настраиваемых типов сообщений, которые являются общедоступными.
Но я не знаю, как это совместить.
Это переменная, которую я установил для загрузки настраиваемого поля в сообщение и страницу.
public function vf_add_meta_box( $post_type ) {
if (in_array( $post_type, $this->post_types )) {
add_meta_box(
$this->option_name,
$this->metabox_name,
array( $this, 'meta_box_display' ),
$post_type,
'normal',
'high'
);
}
}
$ post_type определен в другой функции и вставлен в __construct, и он установлен следующим образом
$post_types = array('post', 'page' );
И из инструкций кодекса wordpress, чтобы получить все настраиваемые типы сообщений, вы можете использовать этот код.
$args = array(
'public' => true,
'_builtin' => false
);
$output = 'names'; // names or objects, note names is the default
$operator = 'and'; // 'and' or 'or'
$custom_types = get_post_types( $args, $output, $operator );
foreach ( $custom_types as $post_type ) {
return $post_type ;
}
Итак, я предположил, что если я добавлю $ post_type в массив $ post_types
$post_types = array('post', 'page', $post_type );
он будет отображать метабокс в настраиваемом типе сообщения, но он не работает.