web-dev-qa-db-fra.com

lire plus ne s'affiche pas

J'ai lu dans le codex à propos du problème lire plus. Il dit que lorsque vous utilisez the_excerpt, le nombre de caractères est limité à 55, puis le en savoir plus devrait s'afficher, ce qui devrait ressembler à ceci [...]

Je ne vois pas cela dans mon extrait. J'ai également essayé plusieurs filtres pour les tests.

function custom_excerpt_length( $length ) {
    return 20;
}
add_filter( 'excerpt_length', 'custom_excerpt_length', 999 );

function new_excerpt_more( $more ) {
    global $post;
    return '<a class="moretag" href="'. get_permalink($post->ID) . '">Read the full article&hellip;</a>';
}
add_filter('excerpt_more', 'new_excerpt_more');

Ni l'un ni l'autre ne travaille. J'ai trouvé que si je poste les informations dans le contenu et que j'utilise le bouton Plus qui crée le <!--more-->, un lien apparaît pour le bouton Plus. Je ne veux pas avoir à pousser ça à chaque fois. J'ai donc regardé quelques articles, mais je n'ai rien trouvé qui puisse m'aider. Alors je me demandais si je fais quelque chose de mal dans ma requête.

// The Query
$the_query = new WP_Query( array( 'category_name' => 'news', 'order' => 'ASC'));

// The Loop
while ( $the_query->have_posts() ) :
    $the_query->the_post();
    global $more;
    $more = 0;
    ?><li><?php
            if ( has_post_thumbnail() ) {
                ?><figure><?php the_post_thumbnail('news'); ?></figure>
            <?php } ?> 
            <!----------/ TITLE /---------->
            <em><?php the_title(); ?></em>
            <!----------/ DATE /---------->
            <strong><?php the_date(); ?></strong>
            <!----------/ PARAGRAPH /---------->
                <?php if( has_excerpt()){
                        the_excerpt();
                } else {
                        the_content('Read More'); 
                } ?>
            <!----------/ BUTTON /---------->
 </li>
 <?php
    endwhile;
    // Restore original Query & Post Data
    wp_reset_query();
    wp_reset_postdata(); ?>

Toutes mes recherches indiquent que les filtres devraient fonctionner ou que l'ajout d'éléments dans le contenu devrait fonctionner. Des choses comme:

 the_content( 'Read More' );

Y a-t-il quelque chose qui me manque? Je souhaite que l'extrait fonctionne afin de pouvoir limiter le nombre de mots et d'insérer automatiquement le lien en savoir plus.

1
Jamie

Je pense que if( has_excerpt()) renvoie false afin de renvoyer la condition de suppression du contenu complet et n'utilise que the_excerpt(), puis cela fonctionnera.

J'ai une autre solution que j'utilise :)

$content = get_the_content();
$short_content = implode(' ', array_slice(explode(' ', $content), 0, 10));
echo $short_content;

cette fonction retourne 10 mots de post. après avoir répété du contenu, vous pouvez ajouter un code de bouton comme

<a href="<?php the_permalink(); ?>" >read more ...</a>

maintenant vous ne pouvez pas utiliser <!--more-->

0
Muhammad Furqan