如何在静态首页上使用_excerpt()创建“阅读更多”链接?

时间:2014-02-11 作者:convoke

我正在开发一个使用静态首页的网站。它还显示了最近的一篇博客文章。这是通过创建页面和使用自定义页面模板来实现的。

有时,博客文章太长,所以我想使用\\u摘录自动缩短它,而不需要更多标记。

到目前为止还不错。但是,\\u摘录实际上并没有创建“阅读更多”链接。这是一个很常见的问题,所以我补充说:

<?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\');
?>
我的职能。php文件。

实际上,我在另一个网站上使用了这段代码,但无论出于什么原因,它在这种情况下都不起作用。我最初的猜测是,这是因为它是在静态页面上调用的。

该网站是http://stuandjessproductions.com. 主题是QODE的核心,我正在使用一个自定义的子主题。

EDIT

根据请求从模板页面添加代码。这不是整个页面,而是新闻帖子的相关部分:

<?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; ?>

1 个回复
最合适的回答,由SO网友:Shazzad 整理而成

在后期编辑页面上,如果您填写Excerpt 包含任何文本的框,the_excerpt() 函数不添加read more link... 在前端简短描述的末尾。Read more link 仅在以下情况下包含Excerpt 设置为空。这不是bug,而是默认行为。

解决方法是避免excerpt_more 要返回的筛选器read more link, 并使用the_excerpt 挂钩以添加阅读更多链接。

// excerpt_more should be set the empty.
add_filter( \'excerpt_more\', \'__return_empty_string\', 21 );

function wpse_134143_excerpt_more_link( $excerpt ) {
    $excerpt .= sprintf( 
            \'... <a href="%s">%s</a>.\',
            esc_url( get_permalink() ),
            __( \'continue reading\' )
    );
    return $excerpt;
}
add_filter( \'the_excerpt\', \'wpse_134143_excerpt_more_link\', 21 );
以上代码可以转到主题函数。php文件。

结束

相关推荐

Strip shortcode from excerpt

我有一个挑战,我发现我不是网络上唯一一个有同样问题的人,然而,目前还没有解决方案。我正在尝试从我的自定义帖子类型摘录中删除短代码。以下是我的示例:http://guidepaperback.com/city/new-century-hotel/在侧边栏中有一个“邻居”小部件,它显示带有摘录的图像。。。一些人正在展示这个问题。有什么建议吗?提前感谢