wake-up-neo.net

Wie kann ich mit the_excerpt () auf einer statischen Titelseite einen "Read More" -Link erstellen?

Ich arbeite an einer Website, die eine statische Startseite verwendet. Es zeigt auch den neuesten Blogeintrag. Dies wurde erreicht, indem eine Seite erstellt und eine benutzerdefinierte Seitenvorlage verwendet wurde.

Manchmal ist der Blog-Beitrag zu lang, daher möchte ich den Auszug verwenden, um ihn automatisch zu kürzen, ohne dass ein weiterer Tag erforderlich ist.

So weit, ist es gut. The_excerpt erstellt jedoch keinen "read more" -Link. Dies ist ein ziemlich häufiges Problem, deshalb habe ich hinzugefügt:

<?php
function new_excerpt_more($more) {
    global $post;
    return '... <a href="'. get_permalink($post->ID) . '">continue reading</a>.';
}
add_filter('excerpt_more', 'new_excerpt_more');
?>

zu meiner functions.php Datei.

Ich habe diesen Code tatsächlich ohne Probleme auf einer anderen Site verwendet, aber aus irgendeinem Grund funktioniert er in diesem Fall nicht. Meine anfängliche Annahme war, dass es war, weil es auf einer statischen Seite aufgerufen wird.

Die Website ist http://stuandjessproductions.com . Das Thema ist von QODE zentral, und ich verwende ein benutzerdefiniertes untergeordnetes Thema.

EDIT

Hinzufügen von Code von der Vorlagenseite gemäß Anforderung. Dies ist nicht die ganze Seite, sondern nur der relevante Teil für den Nachrichtenbeitrag:

<?php $query = "showposts=1&orderby='date'"; query_posts($query);?>
<?php if(have_posts()) : while ( have_posts() ) : the_post(); ?>
    <a href="<?php the_permalink();?>"><?php the_post_thumbnail('home'); ?></a>
    <div class="overlay">Latest News</div>
    <h4><a href="<?php the_permalink();?>"><?php the_title(); ?></a></h4>
    <?php the_excerpt(); ?>
<?php endwhile; ?>
<?php endif; ?>
5
convoke

wenn Sie das Feld Auszug mit Text auf der Nachbearbeitungsseite füllen, fügt die Funktion the_excerpt() am Ende der Kurzbeschreibung keine read more oder ... hinzu. Lesen Sie mehr ist nur enthalten, wenn Auszug leer ist, und dies ist kein Fehler, es ist eine Funktion.

Jetzt besteht die Lösung darin, den excerpt_more-Filter zu umgehen, um mehr zu lesen, und den the_excerpt-Hook zu verwenden. excerpt_more sollte jedoch leer sein, um sicherzustellen, dass keine doppelten Lesezugriffe mehr angezeigt werden. Also, der Code, den Sie brauchen -

function new_excerpt_more($more) {
    return '';
}
add_filter('excerpt_more', 'new_excerpt_more', 21 );

function the_excerpt_more_link( $excerpt ){
    $post = get_post();
    $excerpt .= '... <a href="'. get_permalink($post->ID) . '">continue reading</a>.';
    return $excerpt;
}
add_filter( 'the_excerpt', 'the_excerpt_more_link', 21 );

Der obige Code könnte in die Datei functions.php Ihres Themes gehen.

9
Shazzad