Здравствуйте! Проверил ночью ссылки авторизации на закрытых комментариях (комментарии возможны только при авторизации), код
/*wp-admin, ошибка 404*/ add_action( 'init', 'blockusers_init' ); function blockusers_init() { if ( is_admin() && ! current_user_can( 'administrator' ) && ! ( defined( 'DOING_AJAX' ) && DOING_AJAX ) ) { wp_redirect( '404' ); exit; } } /*редирект с wp-login.php, на главную с окном авторизации*/ function redirect_login_page() { $page_viewed = basename($_SERVER['REQUEST_URI']); if( $page_viewed == "wp-login.php?pass=1" ) { wp_redirect( home_url('/?action-rcl=login') ); exit; } } add_action('init','redirect_login_page');
перестал выполнять свои функции и переводил на обычную (стандартную) форму авторизации от WP. Тогда я воспользовался следующим кодом, заменив
{commentForm}
на
<?php global $rcl_user_URL; $loginoutlink = wp_logout_url( get_permalink() ); $args = array( 'fields' => apply_filters( 'comment_form_default_fields', $fields ), 'comment_field' => '<p class="comment-form-comment"><label for="comment">' . _x( 'Comment', 'noun' ) . '</label><textarea id="comment" name="comment" cols="45" rows="8" aria-required="true"></textarea></p>', 'must_log_in' => '<p class="must-log-in">Для отправки комментария вам необходимо <a href="#" class="rcl-login">авторизоваться</a> или <a href="#" class="rcl-register">зарегистрироваться</a> на сайте.</p>', 'logged_in_as' => '<p class="logged-in-as">Вы авторизованы на сайте как <a href="'.$rcl_user_URL.'">'.get_user_meta( get_current_user_id() ,nickname, true).'</a>, хотите <a href="'.$loginoutlink.'">выйти</a> с сайта?</p>', 'comment_notes_before' => '<p class="comment-notes">' . __( 'Your email address will not be published.' ) . ( $req ? $required_text : '' ) . '</p>', 'id_form' => 'commentform', 'id_submit' => 'submit', 'title_reply' => __( 'Leave a Reply' ), 'title_reply_to' => __( 'Leave a Reply to %s' ), 'cancel_reply_link' => __( 'Cancel reply' ), 'label_submit' => __( 'Post Comment' ), 'class_submit' => 'submit', // Строка. С 4.1. class атрибут для submit элемента. 'submit_button' => '<input name="%1$s" type="submit" id="%2$s" class="%3$s" value="%4$s" />', // формат кнопки submit. C 4.2. 'submit_field' => '<p class="form-submit">%1$s %2$s</a>', // формат кнопки submit %1$s - кнопка %2$s - скрытые поля. C 4.2. ); comment_form( $args ); ?>
Переносить стало на всплывающее окно авторизации WP-Recall, но форма комментариев отображаться стала некорректно
Когда отключаю Comments Tuner, то форма отображается как и должна.
Подскажите пожалуйста,что в коде не так и как сделать отображение корректным как и должно быть..
цитирую из описания к дополнению
Внимание! Перед загрузкой данного дополнения, убедитесь, что ваш шаблон полностью его поддерживает. Откройте файл comments.php в папке своего шаблона и проверьте передаются ли данные внутрь функции comment_form(). Если функция выглядит так: comment_form($args); то дополнение не будет нормально работать, просто приведите функцию к такому виду comment_form(); и ваш шаблон будет готов к установке "Comments Tuner".
не понял, почему вы делаете все наоборот?
Но ведь оно работает корректно, если не ставить переадресацию...
comment_form($args); и comment_form(); такого нет в шаблонном comments.php
вот всё что есть
<div id="comments" class="comments-area"> {if $post->hasComments} <h2 class="comments-title">{__ 'Comments (%s)'|printf:$post->commentsNumber}</h2> <ol class="commentlist"> {loopComments as $comment} {if !$comment->isNormal} <li {!$comment->htmlClass} {!$comment->htmlId('li-')}> {capture $editLinkLabel}({__ 'Edit'}){/capture} <p>{__ 'Pingback:'} {!$comment->author->link} <span class="edit-link">{!$comment->editLink($editLinkLabel)}</span></p> {else} <li {!$comment->htmlClass} {!$comment->htmlId('li-')}> <article {!$comment->htmlId} class="comment-article"> <header class="comment-meta"> <div class="comment-author vcard"> <div class="avatar-wrap"> {!$comment->author->avatar(58)} </div> <div> <cite class="fn">{!$comment->author->link}</cite> <a href="{$comment->url}"><time datetime="{$comment->time('c')}">{_x '%1$s at %2$s', '1: date, 2: time'|printf: $comment->date, $comment->time}</time></a> </div> </div><!-- .comment-meta --> <div class="comment-tools"> {capture $replyLinkLabel}<span class="reply">{!__ 'Reply'}</span>{/capture} {!$comment->replyLink($replyLinkLabel)} {capture $editLinkLabel}<span class="edit-link">{!__ 'Edit'}</span>{/capture} {!$comment->editLink($editLinkLabel)} </div> </header> <div class="entry-content comment-content"> {if !$comment->isApproved} <p class="comment-awaiting-moderation">{__ 'Your comment is awaiting moderation.'}</p> {else} {!$comment->text} {/if} </div><!-- .comment-content --> </article><!-- #comment-## --> {* there is no </li> tag, it is handled by comment walker class *} {/if} {/loopComments} </ol><!-- .commentlist --> {if $post->willCommentsPaginate} <nav class="navigation comment-navigation" role="navigation"> <h1 class="assistive-text section-heading">{__ 'Comment navigation'}</h1> <div class="nav-previous">{prevCommentsLink '← Older Comments'}</div> <div class="nav-next">{nextCommentsLink 'Newer Comments →'}</div> </nav> {/if} {if $post->hasCommentsClosed} <p class="nocomments">{__ 'Comments are closed.'}</p> {/if} {/if} {commentForm} </div><!-- #comments .comments-area -->
А вашу кастомизацию под это дополнение вы можете привести или подправить вышеуказанный код для переадресации? Ведь должен быть выход. А так получается или или. Или функциональная форма комментариев от дополнения с перерегистрацией ссылок на стандарты WP или стандартная форма комментариев с переадресацией на WP-Recall форму...Подмогите выже маг и тольковы знаете что вашему дополнению не будет мешать отображаться корректно...
Я решал вопрос с ссылками в комментариях в двух своих дополнениях:
- Выводит ссылки на вход. Исправляет пути вордпресс логина на форму WP-Recall
- отбиваем атаку на wp-login.php и исправляет вход на форму входа от плагина WP-Recall
Ну конечно при условии что форма входа в настройках реколл выбрана только такая "всплывающая форма" или такая "форма входа на отдельной странице"
По второй ссылке там еще и защита wp-login.php сделана. А первая ссылка - это только работа с ссылками и перевод их на форму входа реколл
Да - все делается через фильтры. Жестко вписывать в comment_form функцию - так делать неверно.