web-dev-qa-db-fra.com

Faire slug comme numéro d'identification pour les types de publication personnalisés

Je souhaite que le slug de chacun de mes types de publication personnalisé soit le numéro d'identification de la publication. Comment puis-je faire cela? Aucune de mes publications n'accepte de titre, de contenu ou quoi que ce soit d'autre - elles nécessitent des données différentes qu'il était plus facile d'afficher en tant que méta-boîte). Pour illustrer:

J'ai un CPT ('eduation'). Lorsque je soumets le message dans la base de données, il porte un ID, disons 15. Lorsque je visite mysite.com/edu/15 ('edu' est le message que j'ai défini), je vois les détails de ce message. sur mon site.

Je sais que je pourrais simplement changer les permaliens, mais je veux que ceux-ci restent tels quels; Je veux juste changer ceux de ces types d'articles personnalisés. Désolé si la question est déroutante. C'est probablement très simple de répondre, mais je ne sais vraiment pas quelle est la réponse.

1
Nate

Voici un moyen de changer la limace:

add_action('wp_insert_post', 'change_slug');
function change_slug( $post_id ) {

       // Making sure this runs only when a 'eduation' post type is created
       $slug = 'eduation';
       if ( $slug != $_POST['post_type'] ) {
          return;
       }


       wp_update_post( array(
        'ID' => $post_id,
        'post_name' => $post_id // slug
       ));

}
1
Erevald