Вы можете просмотреть все зарегистрированные типы сообщений и добавить мета-поле для каждого, хотя вам может потребоваться отфильтровать некоторые типы, поскольку вложения также являются сообщениями.
$post_types = get_post_types(array("public" => true));
foreach ($post_types as $post_type) {
add_meta_box("select_post_template", __("Post Template", "custom-post-templates"), "select_post_template", $post_type, "side", "default");
}
Что касается конкретно плагина Custom Post Template, я думаю, что проблема в том, что ваши пользовательские типы записей регистрируются после его инициализации (так как он не использует ловушку). Таким образом, $post_types
(выше) не содержит ваши типы, и для них нельзя добавить мета-блоки. Вы можете попробовать добавить этот хак (в конце custom-post-templates.php
):
add_action('init', 'hack_add_meta_boxes');
function hack_add_meta_boxes() {
global $CustomPostTemplates;
$post_types = get_post_types(array('public' => true));
foreach ($post_types as $post_type) {
$CustomPostTemplates->add_meta_box( 'select_post_template', __( 'Post Template', 'custom-post-templates' ), 'select_post_template', $post_type, 'side', 'default' );
}
}