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

19 авг. 2017 г., 04:15:21
Просмотры: 17.4K
Голосов: 13

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

После обновления до 4.8.1 я больше не вижу их.

Когда я редактирую запись и нажимаю "Настройки экрана", там нет опции для произвольных полей.

Я попробовал на тестовом сайте переключиться на стандартную тему WordPress 2017. В этом случае на экране редактирования записей я вижу опцию "Произвольные поля" в меню настроек экрана вместе со всеми другими доступными опциями.

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

Также я не вижу ничего в своем плагине или теме, что должно было удалять эти опции.

Эта проблема появилась после обновления до WP 4.8.1. Появился ли новый способ управления видимостью произвольных полей?

Для дополнительной информации: ни в моем пользовательском типе записи, ни в стандартном разделе записей не отображается "Произвольные поля" в "Настройках экрана". Фактически там отображаются только три пункта в разделе "Блоки": "Миниатюра записи", "DAV Featured Group" и "Ярлык".

В моем плагине есть следующий код (он обернут в класс):

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

// Настройка пользовательского типа записи для видео
    public function setup_post_type() {
        add_theme_support('post-thumbnails');
        register_post_type('thankavet', array(
            'labels' => array(
                'name' => __('Благодарности видео'),
                'singular_name' => __('Благодарность видео')
            ),
            '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 относительно меню настроек экрана, буду благодарен за помощь. Я просто хочу, чтобы произвольные поля снова отображались на экране редактирования записи.

Извините, что публикую это с телефона, поэтому форматирование не идеальное.

4
Комментарии

Не думаю, что это связано с выходом WordPress 4.8.1: но у вас установлен плагин Advanced Custom Fields? В их версии 5.6.0 по умолчанию скрывается стандартный метабокс пользовательских полей WordPress.

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

https://www.advancedcustomfields.com/blog/acf-pro-5-6-0-ui-ux/

Ben HartLenn Ben HartLenn
19 авг. 2017 г. 04:37:35

Возможно, ты прав, дай мне проверить это. Спасибо!

Robbiegod Robbiegod
19 авг. 2017 г. 06:40:47

Комментарий @BenHartLenn является решением. (его следует преобразовать в ответ)

Attila Fulop Attila Fulop
21 авг. 2017 г. 12:04:57

Спасибо за оперативность, @AttilaFulop. Я расширил свой комментарий до полноценного ответа.

Ben HartLenn Ben HartLenn
21 авг. 2017 г. 21:39:12
Все ответы на вопрос 1
0
30

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

remove_wp_meta_box

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

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

Чтобы вернуть стандартный метабокс пользовательских полей WordPress, вы можете отключить этот фильтр, добавив следующую строку в файл 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

21 авг. 2017 г. 21:37:45