在wordpress php中添加一个前导和尾随空格

时间:2015-02-02 15:01:02

标签: php wordpress

我使用这段代码:

<ul class="login-links">
    <li>
        <a href="/wp-login.php?redirect_to=<?php echo $_SERVER['REQUEST_URI']; ?>" class="simplemodal-login"><?php printf(__("Login"))?></a>
        <span id="space-login-string"><?php printf(__(" or "));?></span>
        <a href="/wp-login.php?action=register" class="simplemodal-register"><?php printf(__("Register"))?></a>
    </li>
</ul>

这是一个必须由WPML翻译的句子的一部分 它应该如下所示:登录或注册

有谁知道为什么修剪前导和尾随空格,因此看起来像这样:LOGINORREGISTER

它必须是简单的东西,但是,愚蠢的我,我找不到它。请帮忙。

2 个答案:

答案 0 :(得分:2)

有两种可能性:

  1. 函数__()可能会自行修剪输出或输入。
  2. 翻译后的字符串中缺少空格。
  3. 恕我直言,这些空格不应该在要翻译的字符串内,因为只有“或”需要翻译并确保插入空格不是翻译工作。

    编辑:事实证明,问题是左边有三个要素Login,or和Register。这会导致忽略空格。

    要保留空格,同时将三个元素保持在一行中,请为浮动提供所有三个元素display: inline; ,而不是

答案 1 :(得分:1)

您应该参考I18n for WordPress Developers docs。使用printf()执行此操作的正确方法是:

printf( __( 'LOGIN %d REGISTER.', 'your-text-domain' ), 'or' );

您还可以使用许多其他方法,例如使用_e()__()