在我的Wordpress博客上,我经常使用摘录。在我的主页上,我希望在文本(没有CSS)的同一行上“阅读更多...”,但是我不希望它在我的新闻页面上。我发现这个代码完全符合我的要求,但它适用于所有的摘录。我如何在主页上进行此操作?
function new_excerpt_more( $more ) {
return ' <a class="read-more" href="'
. get_permalink( get_the_ID() )
. '">Read More...</a>';
}
add_filter( 'excerpt_more', 'new_excerpt_more' );
答案 0 :(得分:2)
这应该有效:
function new_excerpt_more($more) {
if(is_home())
$more = ' <a class="read-more" href="'. get_permalink( get_the_ID() ) . '">Read More...</a>';
return $more;
}
add_filter( 'excerpt_more', 'new_excerpt_more' );
编辑:在你的主题中,在循环之前,你应该添加一个变量(一个标志)来查看它是否是你想要的页面:
$my_flag = is_page( array( id, id, id, id, 'page-name', 'page-slug' );
if( have_posts() ) :
while( have_posts() ) :
// Your code
endwhile;
endif;
在你的函数(new_excerpt_more)中,你必须像这样检查它:
function new_excerpt_more($more) {
global $my_flag;
if(is_home() || $my_flag)
$more = ' <a class="read-more" href="'. get_permalink( get_the_ID() ) . '">Read More...</a>';
return $more;
}
add_filter( 'excerpt_more', 'new_excerpt_more' );
我没有测试过,但它应该可行。但是,不应该是页面显示单个内容吗?它永远不会只显示摘录(当然,它将取决于你的主题:P)
文档: is_home()