0

我正在尝试使用gettext(). 文档是这样说的:

使用格式字符串而不是字符串连接——<code>sprintf(__('Replace %1$s with %2$s'), $a, $b); 总是比__('Replace').$a.__(' with ').$b;

我想遵循这个建议,但问题来了:

<?php _e('You must be', 'textdomain'); ?> 
    <a href="<?php bloginfo('url'); ?>/wp-login.php?redirect_to=<?php the_permalink(); ?>">
        <?php _e('logged in', 'textdomain'); ?>
    </a> 
<?php _e('to post a comment.', 'textdomain'); ?>

这要么需要一些嵌套sprintf(),要么我不得不这样 - 分成 3 个字符串(或至少 2 个)。我不是 PHP 专家,所以如果有人知道解决此问题的方法,我将不胜感激。

4

1 回答 1

2
<?php
sprintf(_e('You must be <a href="%s">logged in</a> to post a comment.', 'textdomain'), bloginfo('url') . '/wp-login.php?redirect_to=' . the_permalink());
于 2012-08-23T20:25:06.010 回答