Здравствуйте, уважаемые читатели блога asbseo.ru!
В этой небольшой статье я хотел бы вам рассказать о том, как сделать переадресацию на определенную страницу, которая будет происходить автоматически, после того, как ваш читатель оставляет свой самый первый комментарий на WordPress блоге.
Я считаю, что данное действие очень важно для любого блога и это помогает решить ряд важных задач:
Раньше для переадресации после первого комментария на определенную страницу я использовал плагин «Comment Redirect by Yoast». Список наиболее важных плагинов для WordPress, которые когда-то были установлены на моем блоге я публиковал в этой статье. Пост был опубликован аж в декабре 2011 года и с тех пор многое изменилось, от многих плагинов я избавился, некоторые заменил аналогами.
Если интересно, могу опубликовать новый список дополнений, которые сейчас у меня установлены. 🙂
Я уже неоднократно писал о том, что нужно стараться сократить количество плагинов на блоге и по возможности заменять их функции какими-то другими методами. Например, я не использую плагины для вставки видео в блог, для размещения рекламы, даже от плагина кэширования блога отказался. Я знаю что очень многие блоггеры используют огромное количество плагинов на своих блогах, оказывая услугу «Анализ блога», я вижу что многие новички используют их очень много, даже кнопки социальных сетей вставляют при помощи каких-то плагинов. Это вообще ЖЕСТЬ!
Друзья, плагины создают дополнительную нагрузку на блог, тем самым снижая скорость работы блога и увеличивая скорость загрузки страниц! Большинство функций можно реализовать без их использования и к этому нужно стремиться! Именно подобную проблему мы сейчас с вами решим и отключим расширение "Comment Redirect by Yoast", ну, если оно у вас, конечно, есть и заменим его обычным кодом (хаком), который добавим в файл темы «function.php». Если вы еще не сделали переадресацию после первого комментария, то рекомендую вам сделать это прямо сейчас, тем более это очень просто. Теперь по шагам.
1. Создаем новую страницу в админке Wordpres блога и оформляем ее. В моем случае это страница «Это ваш первый комментарий на моем блоге!», можете ее посмотреть.
2. Исключаем эту страницу из основного меню (можно из карты блога исключить), ее видеть посетителям не обязательно. Сделать это можно при помощи плагина «Exclude Pages from Navigation», например. Я его давно не использую у себя по вполне понятным причинам. 🙂 На моем блоге меню реализовано при помощи одноименного раздела вкладки «Внешний вид» в административной панели блога.
3. Открываем для редактирования файл «function.php», который расположен в папке с темой вашего блога. Можно редактировать его прямо из административной панели. Вкладка «Внешний вид», ссылка «Редактор», файл «function.php». Рекомендую перед редактированием сделать резервную копию этого файла, дабы потом была возможность восстановить его. Теперь, в самом конце этого файла, перед закрытием кода — «?>», добавляем следующий код:
// Переадресация после первого комментария
function redirect_after_first_comment($url, $comment) {
$comment_count = get_comments(
array(
'author_email' => $comment->comment_author_email,
'count' => true
)
);
if ( $comment_count == 1 ) {
wp_redirect('http://asbseo.ru/eto-vash-pervyj-kommentarij-na-moem-bloge'); /* Сюда подставляете URL своей страницы приветствия */
exit();
}
return $url = get_comment_link();
}
add_filter( 'comment_post_redirect', 'redirect_after_first_comment', 5, 2);
// Конец кода
В итоге, у меня это выглядит так:
Обратите внимание на то, что в коде указан адрес на мою страницу, в это место вам необходимо подставить свою ссылку. После сохранения файла «function.php» все должно работать.
На этом у меня все, надеюсь мой пост был полезен для вас!
С уважением, Александр Бобрин
© 2024 Блог Александра Бобрина. Создание сайта и заработок в интернете · Копирование материалов сайта без разрешения запрещено
Политика конфиденциальности | Пользовательское соглашение
Спасибо, Александр.
Саша, спасибо за хороший пост! Я поклонник использования на блогах не плагинов, а именно кодов. Имею ввиду тех, которые создают нагрузку на сервер, есть же и необходимые «легкие» в своей работе.
Спасибо, Александр, хорошая вещь, но к сожалению на моей теме сайта не пошло!:(
Люблю я эти штуки с кодом. Спасибо. Сейчас у себя реализую. Нет плагинам!
А у меня Joomla =) Причем довольно старенькая уже.
Когда-то давно я задумался над тем чтобы убрать этот плагин, долго искал код в интернете и даже нашел, но к сожалению переадресация происходила не только после первого комента а постоянно. Мне это не подошло и я решил убрать код.
А вообще убирать плагины это очень полезная штука для загрузки блога. Неделю назад убрал плагин который выводит карту сайта. Теперь карту можно сделать с помощью all in one seo pack писал в себя на блоге об этом.
Думаю скоро все дойдет до того, что плагины вообще будут ненужны, а все можно будет делать с помощью кода. Сейчас у меня на блоге только 11 плагинов.
Да и All in one Seo pack можно смело убрать, я, например использую конструкцию заполнения мета тегов посредством произвольных полей, код брал на сайте wp-kama.ru. Кому интересны авторские наработки, заходите, смотрите, весьма полезный ресурс.
Нужная вещь, надо ею заняться и реализовать на блоге... спасибо!.
да, было бы не плохо увидеть какие плагины вы сейчас используете и какое их количество в результате.
И ещё, возможно я пропустил вашу статью, а как без плагинов нормально сделать кнопки внизу статьи для удобного использования посетителями? как у вас... или это плагин?
Кай, если Вы имеете ввиду кнопки социальных сетей, то я о них написал уже не одну статью. У Вас уже вроде был вопрос по этому поводу! Кнопки с сервиса: sapegin.github.io/social-likes/ru
Точно, проверил, был с моей стороны такого же рода вопрос. Извиняюсь.:-0
меня что-то упорно не тянет в этот сервис...:-)))
Вводите людей в заблуждение, что плагины зло. На деле PHP код грузит сайт также как и плагины. Единственное, если плагин сделан криворуким человеком, то он будет грузить больше чем надо. А по сути если все сделано норм, то плагин будет равносилен вашему PHP коду.
Отчасти соглашусь.
Плагин плагину рознь и альтернативные решения в виде замены, всё того же плагина на код — это хорошо, но...
Не стоит в такой замене искать панацею, не всяк блоггер продвинут, не всегда код сможет удовлетворить потребности, так как его (код), как правило, стоит подтачивать под свой ресурс...
Вывод: следует всегда подыскивать, что-то лучшее, экспериментировать, набираться ума и опыта, одним словом — развиваться.
☺☺☺
Иван, избегать необходимо только реально бестолковых, громоздких плагинов, есть и полезные без которых не обойтись. Скорее всего не существует качественного блога на «Вордпресс» вообще без оных.
Спасибо Сань. Я эту штуку убрал и избавился от лишнего плагина. Пробовал кодом, но была проблема. После оставления коммента, человека то перекидывало куда надо, а вот если он возвращался на страницу где оставил коммент, то не видел "Ваш комментарий ожидает проверки! А по идее должен видеть!
Ну и если включить модерацию комментариев, то каждого комментатора не перекидывает вниз на странице после того как он нажал на кнопку «Отправить комментарий». И получается человек не понимает, оставил он коммент или нет. Возможно это только у меня.
Попробую твой код.
Я когда оставляла Саше первый комментарий, то у меня тоже не было видно что «комментарий ожидает проверки». Я уж знаю что в этом случае нужно сразу страницу перезаргузить. Возвращаешься вроде как на страницу еще до того, как происходили какие-то действия. После перезагрузки появляется ожидающий комментарий.
Но это было очень давно, может у него уже по другому.
Все потому что страница кэшируется и когда нажимаешь стрелку назад, человек возвращается на страницу без перезагрузки, на ту, что сохранилась в кэше. Вот и вся беда.
Спасибо Саша! Очень полезная информация, так как плагины действительно зло. Особенно для хостинга jino)))
Так уходите от jino, вон я сижу на majordomo и не парюсь, проблем вообще нет и сайт держит нагрузку как надо быть.
Услугами Jino не пользовался, но слухов и отзывов про этот хостинг много видел, так понимаю он подкупает своей ценой, за остальное не скажу. Хотя его смело рекомендуют для блоггеров новичков, скажем для начала пути вполне себе нормальный провайдер.
Александр, я плохо понимаю смысл использования одного плагина взамен другому.
У Вас сказано, что можно обойтись без плагина «Comment Redirect by Yoast», но сделать это можно при помощи плагина «Exclude Pages from Navigation».
В чем разница?
Ирина, не важно как вы реализуете подобный редирект с плагином или без него, Вам все равно нужно создать страницу для первого комментария и исключить ее из меню.
Спасибо, Александр, за статью. На неделе сделаю обязательно, так как у меня на блоге пока еще не предусмотрен редирект при первом комментарии. Однако Иван правду сказал на счет PHP и плагина... Хорошо бы как-нибудь сделать анализ временной с плагином и без него.
Алексей, я не буду спорить на счет анализов всяких. Вы просто скачайте любой плагин и загляните внутрь.
«Вы просто скачайте любой плагин и загляните внутрь.»
Заглядывал и не раз. Только не знаю к чему этот совет.
Согласен с Александром Борисовым. Человек оставил коммент, а его перекидывает на какую-то страницу — Спасибо, блаблабла.
И не понятно. Вернуться обратно — только стрелкой браузера. А там в комментах никакого сообщения. Человек в недоумении.
В общем, убрал я его...
А нагружают блог гораздо больше загрузка рекламы и сам код страницы, плагины берут мало.
И очень много зависит от хостера. На джино мучался, перешёл на Хостенко — всё летает.
Делайте принудительное обновление страницы и будет все ок. Вся беда в том что браузер кэширует страницу и потом при возврате подгружает ее из кэша.
Александр, кому как, а мне нравится и спасибо, и «блаблабла». Видишь уважение со стороны автора сайта. Вдобавок реклама своих продуктов.
Допускаю, что такое не всем нравится, но сейчас это становится стандартом оформления сайта. Тем более что всего один раз эта страница появляется.
Привет, Саш! Большое спасибо за код, давно его искал. Себе поставил — все прошло на ура, теперь на один плагин меньше.
Кто-нибудь мерял, на сколько реально уменьшилась нагрузка на блог при смене плагина на код?
Ведь плагин — тот же код, только встраивается автоматически и имеет типа интерфейс пользователя.
Александр, вот Вы напишите статью, как это измеряется, я и попробуют. Я например не знаю, как проводить такие сравнения. На самом деле с удовольствием бы провёл такие сравнения.
У плагинов намного бОльший код, и все плагины очень разные.
Ничего себе сравнение, кусок кода и целого плагина, дающие одинаковый результат. Во первых плагины могут давать такие лаги на блоге, что народ мается потом, а в чём дело спрашивают, вроде все работало путём.
А плюс некоторые из них между собой конфликтуют плюс с шаблоном темы, тут методом научного тыка всегда подбирать надо.
Попробую и я себе сделать такую страницу. Давно хотела такой код найти. Нашла Вас. Спасибо! 🙂
Про плагины... Было бы интересно почитать новую статью про плагины. Старую уже давно читала. Что сейчас у себя применяете?
Александр, скажите, почему вы отказались от плагина кэширования?
Просто мне делали новый дизайн и здесь этот плагин не требуется, скорость работы и так отличная.
Согласен. 200-300ms — хорошая скорость для WordPress, но если вы поставите плагин кэширования (рекомендую Hyper Cache), то сократите ее до 60ms, примерно. К тому же, нагрузка на хостинг упадет.
Увы, приведенный код не будет работать.
Точнее, тот, что у вас на скрине будет, а тот что в листинге — нет.
Например, в строчке
'count' => true
Произошла автозамена символа «>» на «>», то есть должно быть
'count' => true
И так по всему коду.
Оу, у вас стоит фильтр в комментариях. Выходит будто я продублировал код)
Гляньте в листинг, что приводите, поймете, о чем речь.
Popovses, я понял проблему. Сейчас исправил, все должно работать.
Интересно! Про такой код еще не слышал.Установлю, пожалуй. Помню раньше использовал плагин, потом удалили из-за большого их количества.
Отличная возможность отказаться от еще одного плагина, но вот на моей теме почему-то не работает. Не может ли быть помехой плагин кеширования?
Нет, не может.
То есть отказ в работе кода скорее всего из-за самой темы установленной на блоге?
Возможно. А может и из-за других плагинов.
Здесь нужно смотреть, что именно не работает. Может ошибки какие-то.
Вопрос может быть не в тему, но что у вас за плагин для карты сайта стоит. Тот который stemap.xml
Артур, All in One SEO PAck
Благодарю!
Спасибо, огромное! Уже сделал! Отлично, наверное, работает! Пока люди не жаловались. Давно хотел это сделать, но не хотел ставить плагин, а тут такое замечательное решение при помощи кода и всё не сложно) Очень доходчиво! Спасибо вам!
У меня интересный шаблон на блоге, не устанавливаются коды и многие шаблоны. Начинает съезжать все. А вот на втором блоге благодаря данному посту я смог выкинуть один лишний плагин. Побольше бы таких статей и возможно я бы смог убрать половину плагинов с блога
Немножко странно получается: чтобы сделать переадресацию без плагина нужен ... плагин «Exclude Pages from Navigation» для скрытия страницы из основного меню.
Юлий, он в любом случае нужен!
Я понимаю, что этот плагин нужен. Его сначала ставят с целью скрытия некоторых страниц, а потом он пригождается и в переадресации после первого комментария. Но я встречал сайты, которые не скрывали страницу «Спасибо за первый комментарий». Наверно, блоггеры не знали, что можно скрыть её.
Попробовал установить код и он у меня не корректно срабатывает.
Скорее всего причина в установленном у меня плагине WordPress Thread Comment, который реализует древовидные комментарии на блоге (в админке я их отключил)
Переадресация после установки кода происходит, но новая страница отображается как ответ на комментарий, то есть в этом окне, это не красиво и не корректно.
Жаль, пришлось вернуть всё на место.
Если у кого есть похожие проблемы и вы их решили, напишите ответ пожалуйста.
Спасибо за пост. Как раз сейчас и занимаюсь уменьшением количества плагинов на своём блоге.
Я уже давно сделала подобную страницу без плагинов. Хотя на ее счет мнения разделяются, кому-то она нравится, кто-то против таких страниц. Но мне самой приятно получать благодарность, поэтому я ее сделала на блоге
Вот этот интересно надо избавиться от плагина будет -1 плагин, поставлю этот код, спасибо!
Здравствуйте, Александр! Давно поставил, но хотел бы спросить, а как проверить работает ли страница благодарности?
Здравствуйте, Никита. Просто напишите тестовый комментарий с новым e-mail
Спасибо за полезную информацию. На данный момент я использую плагин но думаю нужно его обязательно удалить и попробовать Ваш код. Как попробую обязательно отпишусь.
Ведь меньше плагинов меньше нагрузка на блог.
Да, пост был очень даже полезен, как и все остальные Ваши статьи. А что Вы там обещали про то, чтоб разместить статью о самом необходимом для блогера наборчике дополнений для сайта? Мы запомнили и ждем!
Добрый день! У меня файл functions.php заканчивается далеко не на ?>.
Я уже пыталась находить последний ?> и ставить код перед ним, но тогда начинает выдавать ошибку 300.
Пыталась вставлять код и просто в конце — то же самое. Как можно выйти из ситуации?
А плагин мне не подходит, так как я подарочную страницу оформляю в хтмл-редакторе и просто забрасываю в папку public. То есть плагин и вордпресс не видят мою «левую» страницу.
Елена, поставьте в середине, после какого-нибудь другого кода.
Он может быть без в конце либо с ?> или без него, тут от шаблона и от рук много зависит. Семь раз отмерь, один раз отрежь, необходимо всегда внимательно читать статью, а главное делать как в ней написано.
Вау,очень хорошо.Это лучше чем плагин.обязательно воспользуюсь
Привет! А вот у меня этот скриптик не работает!! Выдает ошибку и пишет «хидер» уже отправлен. Установил плагин, все прекрасно заработало. =) Не жалуюсь
Александр! Код вместо плагина это конечно хорошо, но обновляя WP мы обновляем плагины. А как быть с обновлениями кода?
Анна, здесь код вставляется в файлы темы, при обновлении WordPress файлы темы не затрагиваются.
Александр, т.е. множество кодов, которые мы ставим вместо плагинов — в обновлении не нуждаются. А плагины соответственно периодически обновляем, правильно понимаю?
Да, Анна.
Спасибо большое! Избавился от очередного плагина!
Вот себе на блог сейчас думаю поставить эту переадресацию. Воспользуюсь вашей статьей как подсказкой.
Спасибо. Очень полезная статья!
А как сделать чтобы после КАЖДОГО комментария появлялась страница благодарности? без плагина конечно