2

试图让它工作,甚至可以传递这样的变量吗?

function excerpt_read_more($output, $text) {
    global $post;
    return $output . '<a href="'. get_permalink($post->ID) . '" class="readmore">'.$text.'</a>';
}
add_filter('the_excerpt', 'excerpt_read_more');

我试图能够做这样的事情

<?php the_excerpt('Read More...'); ?>

因为我希望它在整个网站上说不同的东西。例如,阅读这篇文章,继续阅读这篇文章,查看这个食谱。

4

1 回答 1

2

过滤器the_excerpt只有一个参数,因此您尝试的操作是不可能的。

一种选择是使用全局变量:

function excerpt_read_more( $output ) {
    global $post, $my_read_more;
    return $output 
        . '<a href="'
        . get_permalink( $post->ID ) 
        . '" class="readmore">' 
        . $my_read_more 
        . '</a>';
}
add_filter( 'the_excerpt', 'excerpt_read_more' );

然后,像这样调用函数:

<?php
global $my_read_more;
$my_read_more='read this post'; 
the_excerpt();
?>

<?php
global $my_read_more;
$my_read_more='view this recipe'; 
the_excerpt();
?>

另一种解决方案是使用自定义字段:如何自定义阅读更多链接

为了可用性,创建一个包含所有“阅读更多”选项的元框,因此这是在发布后定义的:添加一个复选框到发布屏幕,为标题添加一个类

于 2013-02-22T01:30:59.577 回答