Пользовательский метабокс Wordpress только для одной страницы

каждый! Я считаю, что подобный вопрос уже задавался, но я не нашел рабочего решения. Проблема: мне нужен метабокс только для одной конкретной страницы. Код, который я использую для добавления метабокса, довольно прост:

function custom_meta_boxes(){
    add_meta_box('custom_meta_1', 'About Us Main field','custom_meta_boxes_render', 
        'page','normal','high','');
}

Если вы посмотрите на 4-й параметр — «страница», это помещает метабокс на каждую страницу, так что я вижу его и могу использовать его для каждой страницы, которую я создал при ее редактировании. И мне нужно видеть это только на странице о нас (например). Я видел в некоторых учебниках, что вместо «страницы» вы можете использовать идентификатор или слаг страницы, но у меня это не сработало. Поэтому мне очень нужна ваша помощь/совет по этому поводу.

Заранее большое спасибо.


person Jekaterina Strizak    schedule 15.08.2018    source источник


Ответы (1)


Попробуйте сделать это так:

<?php 

function custom_meta_boxes(){
  global $post;
  $postSlug = isset($post->slug) ? $post->slug : '';

  if ($post->slug === 'about-us') {
    add_meta_box(
      'custom_meta_1', 
      'About Us Main field',
      'custom_meta_boxes_render', 
      'page',
      'normal',
      'high',
      ''
    );
  }
}

И измените слаг about-us на тот, который вы хотите добавить в метабокс.

person ksta    schedule 15.08.2018