如何更改“您必须先登录才能发表评论。”


8

我的一些用户提到我的网站令他们感到困惑。在这种情况下,我想实际创建指向“登录/注册”的链接,以便我的未注册访问者可以在想要发表评论的情况下快速这样做。

现在,它只是说“您必须登录才能发表评论”。没有链接到登录。我在哪里可以进行编辑并将其更改为“您必须注册或登录才能发表评论”。与他们的链接?

Answers:


9

您可以尝试使用comment_form_defaults过滤器对其进行修改:

/**
 * Modify the "must_log_in" string of the comment form.
 *
 * @see http://wordpress.stackexchange.com/a/170492/26350
 */
add_filter( 'comment_form_defaults', function( $fields ) {
    $fields['must_log_in'] = sprintf( 
        __( '<p class="must-log-in">
                 You must <a href="%s">Register</a> or 
                 <a href="%s">Login</a> to post a comment.</p>' 
        ),
        wp_registration_url(),
        wp_login_url( apply_filters( 'the_permalink', get_permalink() ) )   
    );
    return $fields;
});

我们在使用wp_registration_url()wp_login_url()核心功能。

ps:法典中似乎缺少有关过滤器的信息comment_form_defaults


感谢您的帮助。抱歉,我很愚蠢,但是我该放在哪里,functions.php?
艾丹·奈特

那部分代码wp_login_url(get_permalink())怎么样?
布拉德·道尔顿

是的,这也应该起作用。我只是想模拟它在核心中是如何完成的。@BradDalton
birgire

可以,但是修改子主题中文本的默认输出时为什么返回apply_filters?
布拉德·道尔顿2015年

我想如果用户正在使用该过滤器来修改永久链接(例如添加额外的查询字符串),那么在这里应用它也是一致的吗?
birgire 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.