摘录“阅读更多......”嵌入文本

时间:2013-08-28 01:40:09

标签: php wordpress

在我的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' );

1 个答案:

答案 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()