Intereting Posts
параметр orderby не работает в пользовательском запросе Как вывести миниатюру дважды в цикле Переопределение глобальных результатов запроса без перехвата Как создать сообщение на основе данных в таблице? Автоматически добавлять вызов функции после содержимого? Как получить теги и категории? Перенос базы данных WordPress – Сериализованные данные Как мне управлять публикацией пользователей перед публикацией? В чем смысл $ single param get_post_meta? Есть ли способ исключить содержимое из переменной post, чтобы сэкономить на использовании ОЗУ? Отображение выбранных имен терминов (без повторения) из каждой записи в пользовательском типе сообщения Расширение пользовательского короткого кода, который также вызывается непосредственно из страниц PHP-страниц Как удалить ссылку в заголовках сообщений Является ли структура «/ category / post-name-date /» permalink нормальной? Проблема с доступом к многомерному массиву для добавления классов к виджетам WordPress по умолчанию

Один обмен для нескольких типов сообщений

У меня есть этот код

function add_custom_meta_box() { add_meta_box( 'custom_meta_box', // $id 'Custom Meta Box', // $title 'show_custom_meta_box', // $callback 'page', // $page 'normal', // $context 'high'); // $priority } add_action('add_meta_boxes', 'add_custom_meta_box'); 

Я хочу добавить в этот код больше типов сообщений, таких как page, post, custom_post_type

  'page', // $page 

Как мне переписать мой код?

Определите массив типов сообщений и зарегистрируйте обмен веществ для каждого отдельно:

 function add_custom_meta_box() { $post_types = array ( 'post', 'page', 'event' ); foreach( $post_types as $post_type ) { add_meta_box( 'custom_meta_box', // $id 'Custom Meta Box', // $title 'show_custom_meta_box', // $callback $post_type, 'normal', // $context 'high' // $priority ); } } 

Если вы хотите добавить все типы сообщений, вы можете получить массив типов сообщений с помощью:

 $post_types = get_post_types( array('public' => true) ); 

Или добавьте аргумент для типов почтовых ящиков WP или пользовательских:

 // only WP core post types $post_types = get_post_types( array('public' => true, '_builtin' =>‌ true) ); // only custom post types $post_types = get_post_types( array('public' => true, '_builtin' =>‌ false) ); 

Используйте его так:

 add_meta_box( 'custom_meta_box', // $id 'Custom Meta Box', // $title 'show_custom_meta_box', // $callback $post_types, 'normal', // $context 'high' // $priority );