Как изменить «Вы должны войти в систему, чтобы оставить комментарий.»

8

Некоторые из моих пользователей упомянули, что мой сайт сбивает их с толку. Поскольку это так, я бы хотел сделать ссылки на Вход / Регистрация для моих незарегистрированных посетителей, чтобы они могли быстро это сделать, если они хотят оставить комментарий.

Прямо сейчас он просто говорит: «Вы должны войти, чтобы оставить комментарий». без ссылки на логин. Где я могу отредактировать это и изменить его на «Вы должны зарегистрироваться или войти, чтобы оставить комментарий». со ссылками на них?

Эйдан Найт
источник

Ответы:

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фильтре отсутствует в Кодексе.

birgire
источник
Спасибо вам за помощь. Извините за глупость, но куда мне это положить, functions.php?
Эйдан Найт
Как насчет этой части кода wp_login_url (get_permalink ()));
Брэд Далтон
да, это должно сработать. Я просто хотел подражать, как это делается в ядре. @BradDalton
birgire
Конечно, но зачем возвращать apply_filters при изменении вывода по умолчанию для текста в дочерней теме?
Брэд Далтон
Я думаю, если бы пользователь использовал этот фильтр для изменения постоянных ссылок (например, добавление дополнительных строк запроса), было бы логично применить его и здесь?
Биргире