[Résolu] Créer un lien unique vers le dernier article du blog (Créer un compte)

  • WordPress :5.7
  • Statut : résolu
15 sujets de 16 à 30 (sur un total de 31)
  • Auteur
    Messages
  • #2376973
    ferman
    Participant
    Maître WordPress
    4422 contributions

    Je ne suis pas sûre d’avoir compris ce que vous vouliez dire.

    Si, vous avez bien compris, c’était juste pour vérifier qu’il n’y avait rien du côté de la fonction elle même. Ce serait donc le shortcode? C’est un peu surprenant: quel est-il?

    Autrement, vous pouvez aussi essayer un hook DIVI. Par exemple, par analogie avec ce que j’observe avec mon thème (pas divi), ceci: “add_action( ‘et_after_main_content’, ‘dernier_article’ );” et voyez si le message est toujours là

    • Cette réponse a été modifiée le il y a 4 mois et 2 semaines par ferman.
    #2376977
    CoinCoin
    Participant
    Chevalier WordPress
    116 contributions

    Ca serait surprenant effectivement, à moins que j’aie mal recopié qqch ? Voilà les codes que j’ai ajoutés au functions.php :

    // fonction dernier article
    function dernier_article(){
    	$args = array(
            'posts_per_page' => 1 );		
    	$LastPosts = new WP_Query($args); 
    	while ($LastPosts->have_posts()) : $LastPosts->the_post();
    		$permalink = get_permalink();
    	echo'<div class="et_pb_button_module_wrapper et_pb_button_5_wrapper et_pb_button_alignement_center et_pb_module">
    		<a class="et_pb_button et_pb_button_5 et_pb_bg_layout_light" href="'.$permalink.'">Lire mon dernier article</a></div>';
    	endwhile;
    }
    add_shortcode('shortcode_article','dernier_article');
    // fin fonction dernier article

    Et pour le test :

    // test shortcode
    
    function test(){
    	$args = array(
            'posts_per_page' => 1 );		
    	$LastPosts = new WP_Query($args); 
    	while ($LastPosts->have_posts()) : $LastPosts->the_post();
    		$permalink = get_permalink();
    	echo ‘toto’ ;
    	endwhile;
    }
    add_shortcode('test','test');

     

    Le add_action est à rajouter après le add_shortcode, c’était ça l’idée ? J’ai tenté ça n’a rien changé…

    Décidément, il nous donne du fil à retordre ! 🙁

    #2376978
    ferman
    Participant
    Maître WordPress
    4422 contributions

    Non, add_action est à la place de add_ shortcode. Vous remplacez “add_shortcode(‘shortcode_article’,’dernier_article’);” par “add_action( ‘et_after_main_content’, ‘dernier_article’);”. Voyons ce que ça donne.

    Regardez aussi ICI pour voir si vous obtenez d’autres infos.

    • Cette réponse a été modifiée le il y a 4 mois et 2 semaines par ferman.
    #2376979
    CoinCoin
    Participant
    Chevalier WordPress
    116 contributions

    Euh d’accord mais du coup je l’ajoute le bouton comment sur la page concernée après ?

    #2376981
    ferman
    Participant
    Maître WordPress
    4422 contributions

    Vous vous contentez de mettre la fonction dans functions.php mais, pardon, j’ai oublié de préciser: il faut une restriction autrement ça va arriver sur toutes les pages. Donc, dans functions.php, vous collez:

    function dernier_article(){
    	if(is_page("liens")){
    		$args = array(
    			'posts_per_page' => 1 );		
    		$LastPosts = new WP_Query($args); 
    	while ($LastPosts->have_posts()) : $LastPosts->the_post();
    		$permalink = get_permalink();
    	echo'<div id="mon_super_bouton" class="et_pb_button_module_wrapper et_pb_button_5_wrapper et_pb_button_alignement_center et_pb_module">
    		<a class="et_pb_button et_pb_button_5 et_pb_bg_layout_light" href="'.$permalink.'">Lire mon dernier article</a></div>';
    	endwhile;
    	}
    }
    add_action( 'et_after_main_content', 'dernier_article');

    Vous remarquerez que j’en ai profité pour ajouter une “id” à ce bouton. Cela permettra de le différentier de l’autre bouton 5 (et de tous les autres). J’espère ne pas avoir fait d’erreur en adaptant le code, touchons du bois.

     

    • Cette réponse a été modifiée le il y a 4 mois et 2 semaines par ferman.
    #2376984
    CoinCoin
    Participant
    Chevalier WordPress
    116 contributions

    Merci bcp pour votre aide c’est génial !

    J’ai regardé la page que vous m’aviez indiqué et testé la désactivation/réactivation des plugins avec le shortcode. C’est très surprenant mais l’enregistrement fonctionne dès lors que YOAST SEO est désactivé… Tous les autres plugins sont OK, c’est uniquement Yoast qui bug avec ça…

    J’ai aussi testé le nouveau code mais rien ne se passe sur la page a priori…

    #2376985
    ferman
    Participant
    Maître WordPress
    4422 contributions

    Conclusion: le principe est bon mais si sa majesté Yoast n’est pas contente, je ne vois pas ce qu’on peut faire. Je ne suis pas compétent pour ce qui est de Yoast. Juste pour vérifier: dans la dernière fonction, remplacez page (“liens”) par page (5222) (sans guillemets). C’est l’id de la page liens. Si ça ne marche pas encore, remplacez “et_after_main_conten” par “wp_head” (un hook générique qui marche avec tous les thèmes). Si ça ne marche toujours pas, je ne vois pas trop quoi faire

    • Cette réponse a été modifiée le il y a 4 mois et 2 semaines par ferman.
    #2377047
    CoinCoin
    Participant
    Chevalier WordPress
    116 contributions

    Bonjour,

    Le code n’a pas fonctionné 🙁

    En revanche je me demandais, est-ce que ce pb à l’enregistrement est vraiment gênant ? Car en fait le bouton a l’air de bien s’afficher même s’il bloque l’enregistrement…

    Par contre, je n’arrive pas à le centrer. J’ai tenté un CSS additionnel text-align:center sur le bloc code, j’ai essayé de centrer l’élément directement avec les affichages Divi : globalement sur la prévisualisation ça fonctionne mais pas en réel… (J’ai désactivé Yoast le temps de faire ces réglages aussi pour ne pas être embêtée.)

    Merci de votre aide !

    #2377052
    ferman
    Participant
    Maître WordPress
    4422 contributions

    Bonjour,

    En revanche je me demandais, est-ce que ce pb à l’enregistrement est vraiment gênant ?

    Je n’en sais rien, c’est à voir avec un peu de recul. Ce qui est sûr c’est que ce n’est pas normal. D’un autre côté si ça disparaît quand vous désactivez Yoast, ce n’est pas un problème fondamental avec wordpress ou divi.

    Dans le lien que je vous avais donné il y avait ça:

    pour voir si vous avez ce genre de “Faiblesses” ou d’erreurs allez ici : (dans le menu latéral de WordPress)
    Divi >> Support Center et en haut de cette page vous aurez quelques infos importantes.

    Avez-vous fait ça.?

    Pour le centrage, je regarde: merci de laisser le bouton sur la page “liens”.

    #2377059
    CoinCoin
    Participant
    Chevalier WordPress
    116 contributions

    Oui j’ai fait ça et il n’y avait rien que ce beau message :

    System Status
    Congratulations, all system checks have passed. Your hosting configuration is compatible with Divi.

    C’est après quand j’ai testé les extensions que j’ai trouvé le bug. Et c’est un peu ce que je me dis, si c’est pas fondamental et que ça fait “juste” buguer Yoast sur cette page, c’est pas très grave, c’est pas la plus fondamentale en matière de SEO…

     

    Pas de souci, j’ai laissé le bouton, désactivé Yoast et activé la visibilité du bouton sur tous supports (tel/tablette/ordi)

     

    Merciiiii

    #2377061
    ferman
    Participant
    Maître WordPress
    4422 contributions

    Bon, j’ai regardé et ça se comporte comme sur mon site d’essai. Je vous passe la fonction plus tard dans la soirée. Vous avez actuellement sur votre page “liens” un bouton vide (le bouton Google). C’est voulu?

    #2377062
    CoinCoin
    Participant
    Chevalier WordPress
    116 contributions

    Un bouton masqué qui renvoie sur un google form ?

    Oui, c’est voulu, je l’active par périodes, ça m’évite de recréer le nouveau bouton 1 fois par mois quand il est utile car ce n’est pas un sujet permanent… 😉

    #2377063
    ferman
    Participant
    Maître WordPress
    4422 contributions

    Alors:

    1. Vous avez une version minimale dans laquelle il vous suffit d’ajouter le code suivant dans les CSS additionnelles .
      .et_pb_button_module_wrapper {
      		margin-bottom:1em;
      		text-align: center;	
        }

    2. Il y a une version plus complète dans laquelle on solidarise les boutons en les plaçant dans une nouvelle “div” qui peut être personnalisée mais surtout qui permet de modifier l’ordre des boutons. Dans ce cas, il faut ajouter un peu de js . Je vois que vous pouvez facilement le faire avec DIVI . Vous ajoutez ce qui suit (sans oublier les balises script comme indiqué dans la doc divi):
      $=jQuery;
      		$('.et_pb_button_0_wrapper,.et_pb_button_1_wrapper,.et_pb_button_2_wrapper,.et_pb_button_3_wrapper,.et_pb_button_4_wrapper,.et_pb_button_5_wrapper').wrapAll('<div id="nouvelle"></div>')

    3. Dans vos CSS additionnelles vous ajoutez tout le code CSS suivant:
      #nouvelle{width:30em;
      		display:flex;
      		flex-direction:column;
          margin-left:auto;
      		margin-right:auto;
      	}
      
      .et_pb_button_module_wrapper {
      		margin-bottom:1em;
      		text-align: center;	
        }

      Pour inverser la liste, vous remplacez “column” par “column-reverse”.

     

     

    #2377064
    CoinCoin
    Participant
    Chevalier WordPress
    116 contributions

    J’ai pris la version 1, car j’avoue ne pas comprendre l’intérêt de la 2e…

    Par contre petite question, je l’ai mis dans mes css personnalisés au niveau du thème, pas de la page (ça ne fonctionnait pas avec Divi), du coup je me demande, est-ce que ça va agir sur tous les boutons du site ?

    Merci beaucoup !

    #2377066
    ferman
    Participant
    Maître WordPress
    4422 contributions

    J’ai pris la version 1, car j’avoue ne pas comprendre l’intérêt de la 2e…

    Ce n’est pas important, la première méthode est plus simple et elle répond certainement à ce que vous attendez

    Par contre petite question, je l’ai mis dans mes css personnalisés au niveau du thème, pas de la page

    C’est là qu’il faut le mettre.

    est-ce que ça va agir sur tous les boutons du site ?

    Dans l’état actuel, si les autres boutons ont le même wrapper, oui,  mais pas si on restreint à la page liens . Essayez le code CSS modifié suivant et vérifiez sur le site.

    .page-id-5222 .et_pb_button_module_wrapper {
    		margin-bottom:1em;
    		text-align: center;	
      }

     

    • Cette réponse a été modifiée le il y a 4 mois et 2 semaines par ferman.
15 sujets de 16 à 30 (sur un total de 31)
  • Vous devez être connecté pour répondre à ce sujet.