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…</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.
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-->