我正在开发一个使用静态首页的网站。它还显示了最近的一篇博客文章。这是通过创建页面和使用自定义页面模板来实现的。
有时,博客文章太长,所以我想使用\\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; ?>
最合适的回答,由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文件。