Как исправить пропущенные пользовательские поля после обновления до WordPress 4.8.1?

13

У меня есть собственная тема, которую я использовал много раз на разных сайтах. У меня также установлен пользовательский плагин. До v4.8.1 я всегда мог видеть настраиваемые поля в администраторе wp, когда я редактировал сообщение.

С момента обновления до 4.8.1 я больше не могу их видеть.

Когда я редактирую сообщение, нажимаю «Параметры экрана», я не вижу там опции настраиваемых полей.

Я пробовал на сайте разработки перейти на стандартную тему WordPress 2017. Когда я это сделаю, я могу перейти к экрану «Редактировать посты» и увидеть опцию «Пользовательские поля» в меню опций экрана вместе со всеми остальными опциями, которые должны быть там.

Я просматриваю тему 2017 года и не вижу там ничего особенного, что позволило бы включить опцию пользовательских полей.

Я также не вижу ничего в моем плагине или теме, которая должна удалить эти опции.

Эта проблема возникла после того, как я обновился до WP 4.8.1. Есть ли новая опция для отображения / скрытия пользовательских полей?

И просто для того, чтобы показать некоторые подробности, как в моем пользовательском типе поста, так и в стандартном разделе постов не отображаются «настраиваемые поля» в качестве опции в «Параметры экрана». На самом деле они показывают только три вещи под коробками. «Featured Image, DAV Featured Group и Slug».

В моем плагине, это то, что у меня есть - оно заключено в класс:

add_action('init', array($this, 'setup_post_type'));

// Setup the custom post type for the videos
    public function setup_post_type() {
        add_theme_support('post-thumbnails');
        register_post_type('thankavet', array(
            'labels' => array(
                'name' => __('Thanks Videos'),
                'singular_name' => __('Thanks Video')
            ),
            'public' => true,
            'supports' => array('title', 'editor', 'custom-fields', 'thumbnail'),
            'has_archive' => true,
            'menu_icon' => 'dashicons-format-video',
            'rewrite' => array(
                'slug' => 'thank-you'
            )
          )
        );
      }

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

Извините, я отправляю это с моего телефона, поэтому форматирование не слишком горячо.

Robbiegod
источник
1
Я не думаю, что это релиз WordPress 4.8.1 делает это, но у вас установлены расширенные настраиваемые поля? Их выпуск 5.6.0 по умолчанию скрывает мета-поле пользовательских полей WordPress по умолчанию. "remove_wp_meta_box Мы добавили в v5.5.13 новый параметр, позволяющий удалять метабокс настраиваемого поля WP по умолчанию. Несмотря на простоту, это может значительно ускорить время загрузки страницы редактирования! В версии Advanced Custom Fields версии 5.6 этот параметр будет быть установленным в true по умолчанию. " advancedcustomfields.com/blog/acf-pro-5-6-0-ui-ux
Бен ХартЛенн
Вы, вероятно, правы, позвольте мне рассмотреть это. Благодарность!
Robbiegod
@ BenHartLenn - это решение проблемы. (это должно быть преобразовано в ответ)
Аттила Фулоп
Спасибо за подсказку @AttilaFulop, я расширил свой комментарий в ответ.
Бен ХартЛенн

Ответы:

28

Я не думаю, что это релиз WordPress 4.8.1 делает это, но у вас установлены расширенные настраиваемые поля? Если вы это сделаете, их версия 5.6.0 по умолчанию скрывает мета-поле пользовательских полей WordPress.

remove_wp_meta_box

Мы добавили новую настройку в v5.5.13, позволяющую удалить метабокс стандартного поля WP по умолчанию. Несмотря на простоту, это может значительно ускорить время загрузки страницы редактирования! Начиная с версии 5.6 Advanced Custom Fields, этот параметр будет установлен в значение по умолчанию.

Ссылка: https://www.advancedcustomfields.com/blog/acf-pro-5-6-0-ui-ux/

Чтобы вернуть нормальный мета-блок пользовательских полей WordPress, вы можете установить для этого фильтра значение false, добавив следующую строку в ваш файл functions.php темы:

add_filter('acf/settings/remove_wp_meta_box', '__return_false');

Обратите внимание, что вам не нужно создавать функцию __return_falseдля вашего фильтра. WordPress уже имеет базовую функцию __return_false, которая не удивительно возвращает логическое значение falseпри вызове.

Ссылка: https://codex.wordpress.org/Function_Reference/_return_false

Бен ХартЛенн
источник