Afficher l’excerpt manuel ou l’excerpt automatique sur un certain type de page

  • WordPress :4.9.4
  • Statut : non résolu
11 sujets de 1 à 11 (sur un total de 11)
  • Auteur
    Messages
  • #2136882
    Franz333
    Participant
    Initié WordPress
    36 contributions
    • Version de PHP/MySQL : 7.1.7 / 5.6.37
    • Thème utilisé : Newsanchor
    • Extensions en place : HTML in Category Descriptions, Imagify, Regenerate Thumbnails, Simply Show IDs, TC Custom JavaScript, What The File, Yoast SEO
    • Nom de l’hébergeur : Local by Fkywheel (localhost)
    • Adresse du site :

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

    Bonsoir à tous,

    Je galère à résoudre complètement mon problème et je me demande si quelqu’un pourrait m’aider à y voir clair.

    J’aimerais tantôt récupérer l’excerpt manuel, tantôt l’excerpt automatique. Je souhaiterais en l’occurence afficher l’excerpt manuel sur les articles affichés en page d’accueil.

    J’ai essayé ceci sur base de bouts de code pris ça et là, mais ça ne fonctionne pas.

    function custom_excerpt($text) {  
    	global $post;
    	if ( is_front_page() ) && ( !empty( $post->post_excerpt ) ) {
    		$excerpt = strip_tags($text);
    	} else {
    		$excerpt = '<p>'. get_the_excerpt() . '</p>';
    	}
    	return $excerpt;
    }
    add_filter('the_excerpt', 'custom_excerpt');

    Est-ce que quelqu’un a une idée?

    D’avance merci

    Cordialement

     

    #2136895
    Li-An
    Modérateur
    Maître WordPress
    22708 contributions

    Bonjour, je n’y connais que pouic en code mais il me semble que $text ne contient rien ici.

    #2136981
    Franz333
    Participant
    Initié WordPress
    36 contributions

    🙂 je ne sais même plus moi-même comment j’en suis venu à bidouiller ce bout de code 🙂

     

    #2137996
    Franz333
    Participant
    Initié WordPress
    36 contributions

    Personne dans le forum n’a jamais tenté de contrôler davantage l’excerpt et de pouvoir choisir lequel des 2 afficher en fonction de la page ?

     

    #2138075
    Li-An
    Modérateur
    Maître WordPress
    22708 contributions

    À mon avis, le plus simple c’est de modifier le fichier ou la fonction qui affiche en home pour appeler directement l’extrait. C’est une méthode un peu bourrine mais je ne suis pas codeur et je ne maîtrise pas les fonctions alternatives dans les thèmes WP.

    #2140079
    hocus35
    Participant
    Initié WordPress
    26 contributions

    hello,

    si je comprend bien, tu es sur une page qui n’est pas la Home et tu souhaites savoir si un article est déjà sur la home ? et si c’est le cas, afficher un excerpt manuel?

    si c’est bien ça, il faut d’abord savoir quelles sont tes règles d’affichage des articles sur la Home: derniers articles créés ou autre? Ensuite, tu créés la requête inverse pour déterminer tes exceprt manuel.

    Pour info: is_front_page sert juste a savoir si tu es sur la HP -> pas utile dans ton cas

    #2140212
    Flobogo
    Modérateur
    Maître WordPress
    15856 contributions

    Bonjour,

    @hocus35 : je crois que vous avez mal compris la demande.

    tu es sur une page qui n’est pas la Home et tu souhaites savoir si un article est déjà sur la home ?

    Non, et non. Il est sur une “page” (au sens page web =  page quelconque du site, ça peut être une page d’archives … ça peut aussi être la page d’accueil)
    Et il ne souhaite pas “savoir si un article est déjà sur la home”, il souhaite afficher l’extrait manuel des articles si la page sur laquelle on se trouve est l’accueil, ou afficher l’extrait automatique si on est sur toute autre page (archive quelconque, par exemple)

    Du coup, vous répondez à côté de la plaque.

    @franz333 : sans certitude absolue, mais il me semble que the_excerpt affiche systématiquement l’extrait manuel si il existe (et à défaut, l’extrait automatique)
    On peut personnaliser l’extrait automatique (nombre de mots, supprimer la coupure …), mais il n’est utilisé que dans les cas où l’extrait manuel n’existe pas.

    #2140905
    hocus35
    Participant
    Initié WordPress
    26 contributions

    Merci de ton accueil Floobogo, ça fait plaisir.

    #2140971
    Franz333
    Participant
    Initié WordPress
    36 contributions

    @hocus35 @Li-An @Flobogo

    Je vous remercie de prendre le temps de me répondre !  C’est adorable.

    Effectivement, @Flobogo a raison. Il a parfaitement compris ce que je cherche à faire. Et oui, l’idée est bel et bien d’empêcher l’excerpt manuel de s’afficher sur toutes les pages (excepté en page d’accueil) et d’afficher l’excerpt automatiquement à la place.

    Entre-temps, quelqu’un m’a conseillé. J’étais sur la bonne piste avec l’idée de filtrer, mais je ne le faisais pas correctement.

    Je vais faire encore quelques tests et je publierai la fonction si j’arrive à quelque chose de concluant. Ça peut éventuellement intéresser quelqu’un.

    Un tout grand merci à tous.

     

    #2141359
    Franz333
    Participant
    Initié WordPress
    36 contributions

    Bonsoir,

    Voilà, je pense y être parvenu. Il me faudra peut-être encore modifier cette fonction quand je serai sur d’autres types de pages style les pages de custom field ou de taxonomies.

    Mais, pour l’instant, étant donné que je voulais afficher les excerpt manuels sur ma home page et les excerpt générés automatiquement sur mes pages de catégories et sous-catégories, cette fonction semble faire le boulot.

    //////// OVERRIDE MANUAL EXCERPT WHEN is_category () ///////////
    
    function override_manual_excerpt( $content ) {
    if ( has_excerpt() && is_category() ) {
    $post_id = get_the_ID();
    $content_post = get_post($post_id);
    $content = wp_trim_excerpt(); 
    }
    return $content;
    }
    add_filter( 'get_the_excerpt', 'override_manual_excerpt' );

    J’ai souhaité arriver à ce résultat pour deux raisons. La première c’est pour éviter le duplicate content et le faire différemment qu’en modifiant simplement la longueur de l’excerpt en fonction du type de page. La seconde c’est pour “donner d’avantage envie” ou mieux résumer l’article quand affiché sur la page d’accueil. @Flobogo, pensez-vous que cela soit une bonne manière de voir les choses?

    Bonsoir à tous et merci encore.

    Cordialement

    • Cette réponse a été modifiée le il y a 1 année et 6 mois par  Franz333.
    #2143774
    Flobogo
    Modérateur
    Maître WordPress
    15856 contributions

    Du coup, d’après votre code, je crois que c’est has_excerpt() qui désigne l’extrait manuel.

    Je ne suis pas du tout experte en SEO, mais cela me paraît une façon d’éviter le contenu dupliqué et ça c’est forcément mieux.

    Ceci dit, si l’extrait manuel ne s’affiche que sur l’accueil*, il faut avoir conscience que vous l’aurez travaillé “pour rien” (ou pas grand chose), puisque les articles de l’accueil sont voués à “disparaître” au profit des suivants.

    Donc, c’est bien de prévoir un résumé (un extrait) attractif sur l’accueil, pour être plus accrocheur, mais ça veut dire qu’a contrario, vous “négligez” l’extrait  sur les archives (catégories / tags / page auteur …), alors que ces “pages d’archives” peuvent être aussi un point d’entrée important sur votre site (en particulier si le menu est défini à partir des catégories)
    N’oubliez pas non plus que l’extrait personnalisé peut être utilisé par Google sur ses pages de résultats. (en tous cas, avec l’aide d’une extension comme Yoast SEO ou All in One SEO)

    Bref, il faut bien y réfléchir.

    [* mais là, j’ai l’impression que votre code va utiliser l’extrait personnalisé sur les catégories uniquement, c’est ça ?]

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