Intereting Posts
WordPress 3 Multisite с использованием субдоменов.- DNS на вопрос Cpanel Лучшие плагины для комплексного указателя ресурсов Пользовательское поле получает значение другой страницы / сообщения вместо текущего? Сообщения о таксономии на странице архива Отображать только сообщения из определенной родительской категории URL-адрес перенаправляется в дом, там нет страницы или типа сообщения, как я могу отключить его? изменение размера миниатюр не работает Как открыть модальное окно при нажатии ссылки меню WP? Как скрыть мета из результатов поиска только на страницах? Показать все сообщения из категории с и без условий в хронологическом порядке Эта функция wp_get_nav_menu_object проверяет, существует или поддерживается навигационное меню? нужна помощь, добавив новую боковую панель к странице, которая не может использовать шаблоны страниц -> multisite Добавить ввод значка данных в пользовательские ссылки WordPress Может ли почтовое мета-поле хранить несколько значений, которые не находятся в массиве? Отображение всех сообщений пользовательского типа сообщений в многоязычном бэкэнд WordPress

Как отображать пользовательский метабокс только на конкретных идентификаторах страниц

Я использую Magic Fields 2 для пользовательских мета-полей и настраиваемых полей, но эта ситуация относится к любому мета-поле.

У меня есть специальный мета-ящик, который я хочу отображать только на 3 отдельных идентификаторах страниц.

function mf_1_remove_meta_boxes() { if( !in_array($_GET['post'], array('194','185','2') ) ): remove_meta_box( 'mf_1', 'page', 'normal' ); } 

ОБНОВИТЬ

Используя решение Bainternet , код работает. При этом становится очевидной новая проблема. Когда создается новая страница, мета-окно отображается сразу, а затем исчезает после сохранения страницы, поскольку идентификатор не соответствует указанному идентификатору.

ОБНОВЛЕНИЕ 2

Приведенный выше код был изменен, чтобы исправить проблему с мета-полем, появляющимся на новой (несохраненной) странице. Он также был изменен на полный и рабочий код. Мета-окно будет удалено для всех пользователей.

Чтобы удалить мета-окно для всех, кроме администраторов:

 function mf_1_remove_meta_boxes() { if( !is_admin()) return; if( !in_array($_GET['post'], array('194','185','2') ) ): remove_meta_box( 'mf_1', 'page', 'normal' ); } 

Solutions Collecting From Web of "Как отображать пользовательский метабокс только на конкретных идентификаторах страниц"

Простое и чистое решение было бы использовать! In_array ex:

 function mf_1_remove_meta_boxes() { if( !is_admin() && !isset( $_GET['post'] ) ) return; if( !in_array($_GET['post'], array('194','185','2') ) ) remove_meta_box( 'mf_1', 'page', 'normal' ); } 

таким образом вы можете просто добавить идентификаторы в массиве и столько, сколько хотите

Пытаться:

if($_GET['post'] != 194 || $_GET['post'] != 185 || $_GET['post'] != 2)

Он должен работать так.