web-dev-qa-db-fra.com

Les messages personnalisés ne fonctionnent pas

J'ai créé un type de message personnalisé basique à partir d'exemples tirés du codex, mais cela ne fonctionnera pas tant que je n'aurai pas modifié les paramètres de permalien. Lorsque je clique sur view pour prévisualiser le message, je vois la notification Not found, mais lorsque je modifie les paramètres de lien permanent, cliquez sur Save changes, le message fonctionne ainsi que le type de message par défaut. Je veux dire, sans créer de requêtes de boucle spéciales.

Que dois-je faire pour éviter que cette erreur ne crée un thème à utiliser ou à vendre au public?
Tout le monde devra-t-il modifier les paramètres de permalien pour pouvoir utiliser mes types de publication personnalisés?

1
rafr3

Après l'enregistrement du type de publication personnalisé, c'est-à-dire register_post_type(), essayez d'ajouter la fonction flash_rewrite_rules();.

Cela effacera automatiquement toutes les règles de réécriture, de sorte que vous n’aurez plus besoin d’aller dans les paramètres de permalien.

Voir cette page: https://codex.wordpress.org/Function_Reference/register_post_type#Flushing_Rewrite_on_Activation

Exemple:

add_action( 'init', 'my_cpt_init' );
function my_cpt_init() {
    register_post_type( ... );
    flush_rewrite_rules();
}

Comme il est dit dans la documentation, il est préférable de faire cela lors de l'activation du plugin.

1
pooria