Jak naprawić brakujące pola niestandardowe po aktualizacji do WordPress 4.8.1?

13

Mam niestandardowy motyw, z którego korzystałem wiele razy w różnych witrynach. Mam również zainstalowaną niestandardową wtyczkę. Przed wersją 4.8.1 zawsze mogłem zobaczyć niestandardowe pola w administratorze wp, kiedy edytowałem post.

Od aktualizacji do wersji 4.8.1 nie jestem już w stanie ich zobaczyć.

Kiedy edytuję wpis, klikam opcje ekranu, nie widzę tam opcji pól niestandardowych.

Próbowałem na stronie programistycznej przełączającej się na domyślny motyw WordPress 2017. Gdy to zrobię, mogę przejść do ekranu Edytuj posty i zobaczyć opcję Pola niestandardowe w menu opcji ekranu wraz ze wszystkimi innymi opcjami, które powinny tam być.

Przeglądam motyw 2017 i nie widzę w nim nic specjalnego, co włączałoby opcję pól niestandardowych.

Nie widzę też nic w mojej wtyczce ani motywie, które powinny usunąć te opcje.

Ten problem pojawił się po aktualizacji do WP 4.8.1. Czy jest nowa opcja do pokazywania / ukrywania niestandardowych pól?

Aby pokazać więcej szczegółów, zarówno mój niestandardowy typ postu, jak i sekcja standardowych postów nie wyświetlają „niestandardowych pól” jako opcji w „Opcjach ekranu”. W rzeczywistości pokazują tylko trzy rzeczy pod Boxami. „Featured Image, DAV Featured Group i Slug”.

W mojej wtyczce jest to, co mam - jest zapakowane w klasę:

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'
            )
          )
        );
      }

Nadal kopię, ale jeśli ktoś wie, co się stało z wersją 4.8.1 związaną z tym menu opcji ekranu, byłbym wdzięczny, gdyby ktoś zaoferował tutaj pomoc. Chcę tylko, aby pola niestandardowe pojawiały się na ekranie Edytuj post.

Przepraszam, że publikuję to z mojego telefonu, więc formatowanie nie jest zbyt gorące.

Robbiegod
źródło
1
Nie sądzę, że robi to wersja WordPress 4.8.1 : ale czy masz zainstalowane zaawansowane niestandardowe pola? W wersji 5.6.0 domyślnie ukrywa domyślną meta-box niestandardowych pól WordPress. „remove_wp_meta_box Dodaliśmy nowe ustawienie w wersji 5.5.13, pozwalające na usunięcie domyślnego metaboksu niestandardowego pola WP. Chociaż proste, może to drastycznie przyspieszyć czas ładowania strony edycji postu! Od Advanced Custom Fields wersja 5.6, to ustawienie będzie domyślnie ustawione na true. ” advancedcustomfields.com/blog/acf-pro-5-6-0-ui-ux
Ben HartLenn
Prawdopodobnie masz rację, pozwól mi to zbadać. Dzięki!
Robbiegod,
@ Komentarz BenHartLenna jest rozwiązaniem. (należy przekonwertować na odpowiedź)
Attila Fulop
Dzięki za podpowiedź @AttilaFulop. Rozszerzyłem swój komentarz na odpowiedź.
Ben HartLenn,

Odpowiedzi:

28

Nie sądzę, że robi to wersja WordPress 4.8.1: ale czy masz zainstalowane zaawansowane niestandardowe pola? Jeśli to zrobisz, ich wersja 5.6.0 domyślnie ukrywa domyślną meta-box niestandardowych pól WordPress.

remove_wp_meta_box

Dodaliśmy nowe ustawienie w wersji 5.5.13, które pozwala usunąć domyślny metaboks pola niestandardowego WP. Chociaż proste, może to znacznie przyspieszyć ładowanie strony edycji strony! Od Advanced Custom Fields w wersji 5.6 to ustawienie będzie domyślnie ustawione na true.

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

Aby przywrócić normalne pole niestandardowe pola niestandardowe WordPress, możesz ustawić ten filtr z powrotem na false, dodając następujący wiersz do pliku themes.php:

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

Pamiętaj, że nie musisz tworzyć funkcji wywoływanej __return_falsedla twojego filtra. WordPress ma już podstawową funkcję __return_false, która nie jest zaskoczeniem, gdy zwraca wartość logiczną falsepo wywołaniu.

Patrz: https://codex.wordpress.org/Function_Reference/_return_false

Ben Hart Lenn
źródło