使用Wordpress'摘录“更多”链接?

时间:2010-06-30 19:06:08

标签: wordpress

Wordpress'文档建议在functions.php中添加以下内容以启用我想要做的事情:

function new_excerpt_more($post) {
    return '<a href="'. get_permalink($post->ID) . '">' . 'Read the Rest...' . '</a>';
}
add_filter('excerpt_more', 'new_excerpt_more');

根据:http://codex.wordpress.org/Function_Reference/the_excerpt

但是当我将它添加到functions.php中,并且我尝试使用它时,我看不到更多的链接。以下是我尝试使用它的方法:

the_excerpt(__('(more...)'));

我也试过了:

the_excerpt();

更新:我尝试了以下内容,但它要么返回错误(如果没有参数),要么它不显示任何摘录或任何内容(如果是参数):

function new_excerpt_more($excerpt) {
    $link = get_permalink();
    $title = the_title('','',false);
    $ahref = '<a href="'.$link.'" title="'.$title.'">more...</a>';
    return str_replace('[...]', $ahref, $excerpt);
}
add_filter('wp_trim_excerpt', 'new_excerpt_more');

5 个答案:

答案 0 :(得分:12)

function new_excerpt_more($output) {
    return $output . '<p><a href="'. get_permalink() . '">' . 'Read the Rest...' . '</a></p>';
}
add_filter('get_the_excerpt', 'new_excerpt_more');

适用于:

<?php the_excerpt(); ?>

答案 1 :(得分:2)

function new_excerpt_more( ) {
return ' <a class="read-more" href="'. get_permalink( get_the_ID() ) . '">ReadMore</a>';
 }
add_filter( 'excerpt_more', 'new_excerpt_more' );

一起使用
the_excerpt();

答案 2 :(得分:0)

这应该是你要找的东西:

function new_excerpt_more($excerpt) {
    $link = get_permalink();
    $title = the_title('','',false);
    $ahref = '<a href="'.$link.'" title="'.$title.'">more...</a>';
    return str_replace('[...]', $ahref, $excerpt);
}
add_filter('wp_trim_excerpt', 'new_excerpt_more');

答案 3 :(得分:0)

对于使用WordPress 2.9及更高版本的人来说,更好的解决方案是使用excerpt_more过滤器。使用下面的代码可以帮助您完成所需的工作。

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' );

可以在WordPress Codex中找到更多信息:http://codex.wordpress.org/Function_Reference/the_excerpt#Remove_.5B....5D_string_using_Filters

答案 4 :(得分:-1)

我相信wordpress建议在'the_excerpt()'上使用'the_content()'

希望这会有所帮助,一个简单的例子可以在你的page.php上放置这样的东西:

    <?php  global $more;    
       $more = 0;
       the_content("Read the Rest of " . the_title('', '', false)); ?>