Maison  >  Questions et réponses  >  le corps du texte

Après avoir créé une publication dans WordPress, enregistrez l'ID de la publication dans une variable de session

J'ai ajouté un crochet d'action pour qu'après avoir enregistré la publication, je stocke les informations de la publication dans une variable de session.

Ajouter au début de mon fichier php : session_start()

Ensuite j'ai :

function save_post_in_session( $post_ID, $post ) {
    $_SESSION['post_id'] = $post_ID;
    $_SESSION['post_title'] = $post->post_title;
}

add_action( 'created_post', 'save_post_in_session', 10, 2 );

J'ai également créé une autre fonction qui vérifie les variables stockées dans la session et vérifie si post_id est défini, puis je vais procéder à l'affichage du div avec le message comme ceci :

function check_new_post_saved() {
    if( isset( $_SESSION['post_id'] ) ) {
    ?>
        <div class='custom-alert' id='comment_custom_alert'>
                <div class='alert-success'>
                    <button type='button' onclick='this.parentNode.parentNode.remove()' class='close'>&times;</button>
                    <strong>Success!</strong> Your post has been saved successfully.
                </div>
            </div>
    <?php 
    }
}

A la fin du fichier j'appelle la fonction : check_new_post_saved();

Après avoir essayé de créer et d'enregistrer la publication dans WordPress, elle a été enregistrée correctement, mais lorsque j'ai vérifié le stockage de la session dans les outils de développement, je n'ai vu aucune variable. Je ne suis pas sûr de ce que je fais de mal.

P粉806834059P粉806834059227 Il y a quelques jours374

répondre à tous(1)je répondrai

  • P粉810050669

    P粉8100506692024-03-29 00:01:48

    Le hook qui s'exécute après l'enregistrement de la publication s'appelle wp_insert_post

    répondre
    0
  • Annulerrépondre