Wie behebe ich fehlende benutzerdefinierte Felder nach dem Upgrade auf WordPress 4.8.1?

13

Ich habe ein benutzerdefiniertes Thema, das ich oft auf verschiedenen Websites verwendet habe. Ich habe auch ein benutzerdefiniertes Plugin installiert. Vor v4.8.1 konnte ich die benutzerdefinierten Felder im WP-Administrator immer sehen, wenn ich einen Beitrag bearbeitete.

Seit dem Update auf 4.8.1 kann ich sie nicht mehr sehen.

Wenn ich einen Beitrag bearbeite, klicke ich auf Bildschirmoptionen. Die Option für benutzerdefinierte Felder wird dort nicht angezeigt.

Ich habe auf einer Entwicklungsseite versucht, auf das Standard-WordPress-2017-Theme umzusteigen. Wenn ich das tue, kann ich zum Bildschirm "Beiträge bearbeiten" gehen und die Option "Benutzerdefinierte Felder" im Menü "Bildschirmoptionen" zusammen mit allen anderen Optionen anzeigen, die dort angezeigt werden sollten.

Ich schaue mir das Thema 2017 an und sehe dort nichts Besonderes, das die Option für benutzerdefinierte Felder aktivieren würde.

Ich sehe in meinem Plugin oder Theme auch nichts, was diese Optionen entfernen könnte.

Dieses Problem trat auf, nachdem ich auf WP 4.8.1 aktualisiert hatte. Gibt es eine neue Option zum Ein- / Ausblenden für die benutzerdefinierten Felder?

Um nur einige Details anzuzeigen, werden in meinem benutzerdefinierten Beitragstyp und im Abschnitt "Standardbeiträge" unter "Bildschirmoptionen" keine "benutzerdefinierten Felder" als Option angezeigt. Tatsächlich zeigen sie nur drei Dinge unter Kästen. "Featured Image, DAV Featured Group und Slug".

In meinem Plugin ist das, was ich habe - es ist in einer Klasse verpackt:

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

Ich grabe immer noch, aber wenn jemand weiß, was mit 4.8.1 im Zusammenhang mit diesem Bildschirmoptionsmenü passiert ist, wäre ich sehr dankbar, wenn jemand hier Hilfe anbieten würde. Ich möchte nur, dass die benutzerdefinierten Felder im Bildschirm "Beitrag bearbeiten" angezeigt werden.

Es tut mir leid, dass ich dies von meinem Handy aus poste, damit die Formatierung nicht zu heiß ist.

Robbiegod
quelle
1
Ich glaube nicht, dass dies in der WordPress 4.8.1-Version der Fall ist. Haben Sie jedoch erweiterte benutzerdefinierte Felder installiert? Ihre Version 5.6.0 verbirgt standardmäßig die Meta-Box für benutzerdefinierte WordPress-Felder. "remove_wp_meta_box Wir haben in Version 5.5.13 eine neue Einstellung hinzugefügt, mit der die standardmäßige Metabox für benutzerdefinierte WP-Felder entfernt werden kann. Obwohl dies einfach ist, können die Ladezeiten der Nachbearbeitungsseite drastisch verkürzt werden! Ab Advanced Custom Fields Version 5.6 wird diese Einstellung verwendet standardmäßig auf true gesetzt sein. " advancedcustomfields.com/blog/acf-pro-5-6-0-ui-ux
Ben HartLenn
Sie haben wahrscheinlich Recht, lassen Sie mich das untersuchen. Vielen Dank!
Robbiegod
@ BenHartLenns Kommentar ist die Lösung. (Es sollte in eine Antwort umgewandelt werden)
Attila Fulop
Vielen Dank für die Aufforderung @AttilaFulop, ich habe meinen Kommentar zu einer Antwort erweitert.
Ben HartLenn

Antworten:

28

Ich glaube nicht, dass dies in der WordPress 4.8.1-Version der Fall ist. Haben Sie jedoch erweiterte benutzerdefinierte Felder installiert? In diesem Fall wird in Version 5.6.0 das Standard-Metafeld für benutzerdefinierte WordPress-Felder standardmäßig ausgeblendet.

remove_wp_meta_box

Wir haben in Version 5.5.13 eine neue Einstellung hinzugefügt, mit der die standardmäßige Metabox für benutzerdefinierte WP-Felder entfernt werden kann. Dies ist zwar einfach, kann aber die Ladezeiten der Nachbearbeitungsseite drastisch beschleunigen! Ab Version 5.6 von Advanced Custom Fields wird diese Einstellung standardmäßig auf true gesetzt.

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

Um die normale Meta-Box für benutzerdefinierte WordPress-Felder wiederherzustellen, können Sie diesen Filter auf false setzen, indem Sie die folgende Zeile in die Datei functions.php Ihres Themes einfügen:

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

Beachten Sie, dass Sie keine Funktion __return_falsefür Ihren Filter erstellen müssen . WordPress verfügt bereits über eine Kernfunktion __return_false, die falsebeim Aufruf den booleschen Wert zurückgibt .

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

Ben HartLenn
quelle