web-dev-qa-db-fra.com

Afficher un bouton sur chaque post

J'essaie d'ajouter un bouton pour chaque message.

add_action( 'the_post', [ $this, 'myButton' ] );
public function myButton( $post ) {

      $this->ID = $post->ID;
      $myId=$post->ID;
      echo "<button onclick=\"buttonAction()\" p style=\"font-size:10px\" id=\"ActionButton\">ACTION</button>";
}

Cela fonctionne bien, mais il y a un problème, il apparaît non seulement dans le message, mais également sur la page d'accueil située au-dessus de chaque message et sur toutes les pages contenant un lien. De plus, je ne peux pas styler pour l'afficher au bon endroit, il se trouve en haut du message. Comment puis-je le styler et le faire apparaître uniquement sur la page Web du message.

2
codemonkey

Utilisez the_content hook and hook uniquement lorsque vous êtes sur une seule page:

add_filter( 'the_content', 'my_button_function' );

function my_button_function( $content ) {

    // See if it's a single post or a loop
    if ( is_single() && in_the_loop() && is_main_query() ) {
        return $content . "<button onclick=\"buttonAction()\" p style=\"font-size:10px\" id=\"ActionButton\">ACTION</button>";
    }

    return $content;
}

Cela n’ajoutera le bouton que si vous êtes sur un seul article, et ajoutera le bouton à la fin de votre contenu.

Pour en savoir plus, consultez: le site Web de WordPress Developer .

2
Jack Johansson