web-dev-qa-db-fra.com

Comment accrocher le permalien lors de la publication d'un post-sauvegarde?

Je veux savoir comment je peux changer la structure du permalien en mon choix avant de sauvegarder ou de publier mon message dans Wordpress?
Par exemple, lorsque j'ajoute le titre comme the wordpress blog dans mon message, je reçois une structure de lien permanent similaire à celle ci-dessous:

http://localhost/2015/09/10/the-wordpress-blog/

Je veux le changer en quelque chose comme ci-dessous avant de l'enregistrer ou de le publier:

http://localhost/2015/09/10/the-wordpress-blog-is-mine/

Mais je ne sais pas quoi faire pour atteindre mon objectif.

2
FreeMind

Finalement, j'ai trouvé ma réponse moi-même.

//add our action
add_action( 'save_post', 'my_save_post', 11, 2 );

function my_save_post($post_id, $post){

   //if it is just a revision don't worry about it
   if (wp_is_post_revision($post_id))
      return false;

   //if the post is an auto-draft we don't want to do anything either
   if($post->post_status != 'auto-draft' ){

       // unhook this function so it doesn't loop infinitely
       remove_action('save_post', 'my_save_post' );

      //this is where it happens -- update the post and change the post_name/slug to the post_title
      wp_update_post(array('ID' => $post_id, 'post_name' => str_replace(' ', '-', $_POST['post_title'])));

      //re-hook this function
      add_action('save_post', 'my_save_post' );
   }
}
1
FreeMind

Sous le champ Titre se trouve le champ slug. Normalement, WordPress crée automatiquement une base de données sur ce que vous saisissez dans le champ Titre. Tout ce que vous avez à faire est de taper ce que vous voulez, puis de le publier.

0
Cedon