返回值内的WordPress本地化错误

时间:2015-10-28 作者:user3290813

我有一些代码在我的functions.php 当我试图将其本地化时,我总是出错。

这是代码,我只想本地化“阅读更多”一词:

return \'<a href="\'. get_permalink( $post->ID ) . 
    \'"><span class="readmore">Read More</span></a>\';
当我将“阅读更多”更改为_e(__(, 我在那条线上发现一个错误。我如何让它工作?

以下是完整的功能代码:

function new_excerpt_more( $more ) {
    global $post;
    return \'<a href="\'. get_permalink( $post->ID ) . 
        \'"><span class="readmore">Read More</span></a>\';
} 
add_filter( \'excerpt_more\', \'new_excerpt_more\' );

1 个回复
SO网友:Dave Romsey

sprintf() 可用于拆分字符串,以便将可翻译字符串与HTML隔离:

function new_excerpt_more( $more ) {
    return sprintf( \'<a href="%1$s"><span class="readmore">%2$s</span></a>\',
        get_permalink( get_the_ID() ),
        __( \'Read More\', \'your-textdomain\' )
    );
} 
add_filter( \'excerpt_more\', \'new_excerpt_more\' );