web-dev-qa-db-fra.com

Comment réparer les champs personnalisés manquants après la mise à niveau vers WordPress 4.8.1?

J'ai un thème personnalisé que j'ai souvent utilisé sur différents sites. J'ai aussi un plugin personnalisé installé. Avant la v4.8.1, je pouvais toujours voir les champs personnalisés dans l’administrateur wp lors de la modification d’un message.

Depuis la mise à jour en 4.8.1, je ne suis plus capable de les voir.

Lorsque je modifie un message, cliquez sur les options d'écran, l'option de champs personnalisés n'apparaît pas.

J'ai essayé sur un site de développement de basculer vers le thème WordPress 2017 par défaut. Lorsque je le fais, je peux accéder à l'écran Modifier les publications et voir l'option Champs personnalisés du menu d'options de l'écran, ainsi que toutes les autres options qui devraient y figurer.

Je regarde à travers le thème 2017 et je ne vois rien de spécial qui permettrait l’option des champs personnalisés.

Je ne vois également rien dans mon plugin ou mon thème susceptible de supprimer ces options.

Ce problème est survenu après la mise à jour de WP 4.8.1. Existe-t-il une nouvelle option pour afficher/masquer les champs personnalisés?

Et juste pour montrer plus de détails, mon type d'article personnalisé et la section d'articles standard n'indiquent pas les "champs personnalisés" en tant qu'option sous "Options d'écran". En fait, ils ne montrent que trois choses sous les boîtes. "Image en vedette, Groupe en vedette DAV et Slug".

Dans mon plugin, voici ce que j'ai - il est emballé dans une classe:

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

Je suis toujours en train de creuser, mais si quelqu'un sait ce qui est arrivé à 4.8.1 en rapport avec ce menu d'options d'écran, je serais reconnaissant si quelqu'un offrait de l'aide ici. Je souhaite simplement que les champs personnalisés apparaissent dans l'écran Modifier le message.

Désolé, je poste ceci depuis mon téléphone, le formatage n'est donc pas trop chaud.

13
Robbiegod

Je ne pense pas que ce soit la version WordPress 4.8.1 faisant cela: mais, avez-vous installé Advanced Custom Fields? Si vous le faites, leur version 5.6.0 masque la boîte méta par défaut des champs personnalisés WordPress.

remove_wp_meta_box

Nous avons ajouté un nouveau paramètre dans la version 5.5.13 permettant de supprimer le métabox du champ personnalisé par défaut WP. Bien que simple, cela peut considérablement accélérer les temps de chargement de la page de post-édition! Dans Advanced Custom Fields version 5.6,ce paramètre sera défini sur true par défaut.

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

Pour ramener la méta-boîte de champs personnalisés WordPress normale, vous pouvez redéfinir la valeur de ce filtre en ajoutant la ligne suivante dans le fichier themes.php de votre thème:

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

Notez qu'il n'est pas nécessaire de créer une fonction appelée __return_false pour votre filtre. WordPress a déjà une fonction de base __return_false, qui renvoie sans surprise la valeur booléenne false lorsqu’elle est appelée.

Réf.: https://codex.wordpress.org/Function_Reference/_return_false

27
Ben HartLenn