[Résolu] Supprimer commentaires uniquement en page d’accueil sur extrait d’articles

  • WordPress :4.7
  • Statut : résolu
12 sujets de 1 à 12 (sur un total de 12)
  • Auteur
    Messages
  • #1918028

    Mhfoot
    Participant
    Initié WordPress
    7 contributions

    Bonjour,

    Ma configuration WP actuelle

    • Version de PHP/MySQL :
    • Thème utilisé : fifteen
    • Extensions en place :
    • Nom de l’hébergeur : ifastnet
    • Adresse du site : http://www.news-de-foot.com

    Problème(s) rencontré(s) :

    Bonsoir à tous,

    J’ai actuellement une page d’accueil dynamique sur laquelle j’affiche des extraits de mes articles. Je voudrais savoir si il serait possible d’enlever le lien « laisser un commentaire » mais uniquement sur la page d’accueil lorsque l’on voit les extraits d’articles.

    Et donc lorsqu’une personne clique pour voir l’article au complet, là il faudrait que le lien soit visible pour laisser un commentaire.

    Est ce que c’est possible de faire ca? Si oui, pourriez vous m’aider à faire ceci?

    merci par avance.

    #1918248

    yrdna
    Participant
    Chevalier WordPress
    142 contributions

    La méthode rapide mais sale –>  via Apparence >Personnaliser > Css additionnel (coller le code ci-dessous + enregistrer)

    .home .comments-link {display:none;}

    Autre solution–> si tu bricoles un peu les Thèmes tu peux créer un thème enfant et y créer un fichier home.php qui pourra afficher les éléments de ton choix en y customisant ta propre fonction inspirée de la fonction twentyfifteen_entry_meta qu’utilise Twentyfifteen dans le footer de ses articles

    • Cette réponse a été modifiée le il y a 2 semaines et 5 jours par  yrdna.
    • Cette réponse a été modifiée le il y a 2 semaines et 5 jours par  yrdna.
    #1919154

    Mhfoot
    Participant
    Initié WordPress
    7 contributions

    Bonsoir,

     

    merci j’ai choisi la 1ère solution et ça fonctionne très bien.

    Merci encore.

    Bonne soirée.

    #1919166

    yrdna
    Participant
    Chevalier WordPress
    142 contributions

    Pour info, la première méthode (sale) n’empêchera pas que les mots « Laisser un commentaire » soient toujours visible par les robots et fassent parti des mots de clés qui vont polluer votre page d’accueil comme indiqué sur ce topic https://wpfr.net/support/sujet/mots-cles-ne-sont-pas-du-theme-principal/

    #1924338

    Mhfoot
    Participant
    Initié WordPress
    7 contributions

    Bonjour,

    Désolé pour la réponse tardive.

    Effectivement, je n’avais pas pensé au fait que les mots « Laisser un commentaire » soient toujours visible par les robots.

    Il faudrait donc que je parte plutôt sur la deuxième solution, c’est bien ça ?

    Par contre désolé mais je débute avec WordPress et je n’ai pas tout compris votre deuxième solution.

    Pourriez-vous me donner un peu plus de détail ? Comment on crée un thème enfant et surtout à quoi cela va servir ?

    Merci beaucoup pour votre aide.

     

    #1924543

    yrdna
    Participant
    Chevalier WordPress
    142 contributions

    La solution 2 celle de créer un thème enfant permet de customiser, modifier tout en gardant la possibilité des mise à jour sur le thème parent.

    Via le tutoriel suivant tu trouveras la méthode pour créer un thème enfant -> https://wpmarmite.com/child-theme-wordpress/

    #1925219

    Mhfoot
    Participant
    Initié WordPress
    7 contributions

    Bonjour,

     

    J’ai bien créé le thème enfant, ça c’est bon ça fonctionne. Par contre, je n’ai pas de page home.php car j’utilise une page d’accueil dynamique et non statique. Quel fichier je dois modifier dans ce cas ?

    Merci d’avance pour votre aide.

    #1925602

    yrdna
    Participant
    Chevalier WordPress
    142 contributions

    Dans le thème enfant, créer un fichier home.php si il n’existe pas et y mettre le code customisé. Ainsi home.php sera utilisé par le site avant le fichier index.php actuel pour la page d’accueil dynamique

    Plus d’info sur home.php –> https://developer.wordpress.org/themes/basics/template-hierarchy/#home-page-display

    #1927701

    Mhfoot
    Participant
    Initié WordPress
    7 contributions

    Bonjour,

    J’ai trouvé le code qu’il faudrait que je modifie dans le fichier template-tags.php du dossier inc du theme.

    	if ( ! is_single() && ! post_password_required() && ( comments_open() || get_comments_number() ) ) {
    		echo '<span class="comments-link">';
    		/* translators: %s: post title */
    		comments_popup_link( sprintf( __( 'Leave a comment<span class="screen-reader-text"> on %s</span>', 'twentyfifteen' ), get_the_title() ) );
    		echo '</span>';
    	}

    Par contre je ne sais pas comment modifier ce code, pour ne plus qu’il soit affiché sur la page d’accueil.

    J’ai essayé de rajouter le dossier inc dans le theme enfant avec ce fichier à l’intérieur en mettant ce code en commentaire, mais ça ne fonctionne pas.

    Et je ne vois pas comment ajouter un fichier home.php pour modifier ce code.

    Pourriez-vous m’aider s’il vous plait ?

    Merci d’avance.

    #1927726

    yrdna
    Participant
    Chevalier WordPress
    142 contributions

    Avant fait une sauvegarde de tes fichiers + BDD (base de données)  et test le code suivant à la place du code que tu as trouvé dans template-tags.php. Laisse le fichier home.php pour le moment et fait ce test

    if ( ! is_home() && ! is_single() && ! post_password_required() && ( comments_open() || get_comments_number() ) ) {
    	echo '<span class="comments-link">';
    	/* translators: %s: post title */
    	comments_popup_link( sprintf( __( 'Leave a comment<span class="screen-reader-text"> on %s</span>', 'twentyfifteen' ), get_the_title() ) );
    	echo '</span>';
    }

    Attention, le code ci-dessus c’est juste pour tester dans le thème parent, ça ne remplace pas la mise en place d’un thème enfant en bonne et du forme…

    • Cette réponse a été modifiée le il y a 1 semaine et 3 jours par  yrdna.
    #1927860

    Mhfoot
    Participant
    Initié WordPress
    7 contributions

    je viens de tester et ça fonctionne.

     

    #1929296

    Flobogo
    Modérateur
    Maître WordPress
    13426 contributions

    Bonjour,

    Maintenant que ça fonctionne dans le thème parent, vous avez 2 solutions :

    • soit vous gardez soigneusement une copie du fichier modifié, pour pouvoir la remettre en place lorsqu’une mise à jour du thème aura écrasé votre modif
    • soit vous repérez la fonction qui correspond à ce code –> si tout va bien, un peu plus haut dans le code, vous avez ce genre de ligne :
      if ( ! function_exists( 'nom_de_la_fonction' ) ) :

      Il faut alors copier toute cette fonction dans le fichier functions.php de votre thème-enfant, vous pouvez alors la modifier, et cette modif’ sera sauvegardée lors d’une mise à jour du thème-parent (qui n’affecte pas le thème-enfant)

     

12 sujets de 1 à 12 (sur un total de 12)
  • Vous devez être connecté pour répondre à ce sujet.