在WordPress的wp-signup.php中自定义文本

时间:2013-08-27 14:13:11

标签: wordpress

我需要在WordPress多站点注册页面(wp-signup.php)上更改以下默认文本:

  

“您可以拥有的网站数量没有限制,因此请创建   你心中的内容,但负责任地写下来!“

...因为这个WordPress安装将限制用户可以创建的网站数量。

是否可以在不侵犯wp-signup.php文件或处理.htaccess的情况下覆盖此页面的内容?

此WordPress安装由第三方服务托管,如果我可以避免处理修改这些文件,那将是最好的。

2 个答案:

答案 0 :(得分:1)

我设法找到另一种解决方案。事实证明,由于wp-signup.php页面上的文本是通过__()运行的,因此您可以使用“gettext”过滤器对其进行更改,如下所示:

/**
 * Modify default wp-signup.php text
 */
function themename_wp_signup_text( $translated_text, $untranslated_text, $domain ) {
    global $pagenow;

    if ( is_multisite() && $pagenow === 'wp-signup.php' ) {

    switch ( $untranslated_text ) {
            case 'Welcome back, %s. By filling out the form below, you can <strong>add another site to your account</strong>. There is no limit to the number of sites you can have, so create to your heart&#8217;s content, but write responsibly!' :
            $translated_text = __( 'Welcome back, %s. By filling out the form below, you can <strong>add another site to your account</strong>. You can create a maximum of 5 sites. Remember to write responsibly or some junk! Ciao!', 'theme_text_domain' );
            break;
        }
    }

    return $translated_text;
}
add_filter( 'gettext', 'themename_wp_signup_text', 20, 3 );

...这只是一个主题,但你也可以在一个插件中做到这一点。

所以文本在技术上可过滤,但我会说这是一个巨大的黑客,但它会做,并且不应该有任何后果,直到WordPress核心中的特定文本更改...

答案 1 :(得分:0)

正如Dave Kiss在上面的评论中所说,这个字符串是不可过滤的,所以你不能过滤文本。字符串未标记,因此您无法使用翻译文件。

我建议你打开一张WordPress Trac票,要求将文字标记或过滤。

您可以在此处开设新票:http://core.trac.wordpress.org/