web-dev-qa-db-fra.com

Nom du type de message personnalisé causant un problème

S'il vous plaît ignorer mon pauvre anglais.

J'ai un message personnalisé, tapez (order). et ça marche comme un charme,

Mais la liste de messages par défaut (pages) ne s'affiche pas dans le côté wp-admin.

Vous pouvez voir plus d'informations dans les captures d'écran ci-jointes.

S'il vous plaît, aidez-moi les gars à comprendre quel est le problème.

Pour le type de poste de commande: -  enter image description here

Pour les pages: -  enter image description here

J'ai ajouté le code suivant:

add_action('init', 'create_post_type');
function create_post_type()
{
    register_post_type('order',
            array(
                    'labels' => array(
                            'name' => __('Orders'),
                            'edit_item' => __('Edit Order'),
                            'add_new' => __('New Order'),
                            'add_new_item' => __('Add New Order'),
                            'singular_name' => __('Orders')
                    ),
                    'public' => true,
                    'supports' => array('title', 'editor', 'custom-fields')
            )
    );
}
1
Akshay Paghdar

order est un terme réservé, le meilleur - à ma connaissance - un aperçu de ceux-ci peut être trouvé ici: Codex: register_taxonomy() - Termes réservés . La liste est dans sa pertinence non limitée aux taxonomies. Son introduction montre clairement (ou plus) pourquoi:

Éviter les termes réservés suivants est particulièrement important si vous passez le terme à travers le tableau $ _GET ou $ _POST. Cela pourrait provoquer une erreur 404 dans WordPress, sans autre indication ni explication.

2
Nicolai

C’est en fait un choc de nommage. Wordpress utilise Word order dans son noyau en tant que fonction de tri. Il s'agit également d'un nom réservé qui ne doit pas être utilisé par des thèmes ou des plugins.

Changer votre nom de type d'article personnalisé en orders résoudra votre problème

3
Pieter Goosen

Vous avez probablement une action sur 'pre_get_posts' qui exclut la page post-type. Collez ce code ici pour que nous puissions vous aider.

2
Diogo Gomes