Вордпресс без плагинов. Как сделать простую контактную форму для блогов на WordPress без использования плагинов. — широкое разнообразие плагинов и варианты выбора

На главной странице, а так же на страницах рубрик, архивов и в результатах поисках, как правило нужна постраничная навигация (так же известная как пагинация). Блоги на WordPress не являются исключением, они так же используют пагинацию, когда результаты вывода информации разбиваются на несколько страниц.

Ранее для реализации этой возможности использовались сторонние плагины, либо специальные функции, которые размещались в файле functions.php . Однако с выходом WordPress версии 4.1 функция пагинации была встроена в ядро CMS, и теперь для реализации постраничной навигации достаточно внутренних функций WordPress и нет никакой необходимости добавлять сторонний код или плагины.

Я писал ранее о подобном улучшении со стороны WordPress в отношении тега TITLE — https://aboutwordpress.ru/post/wordpress-title/ .

Что такое пагинация

Пагинация — это разбиение информации на страницы. Также под этим понятием подразумевают порядковую нумерацию страниц, обозначаемых цифрами, располагаемыми внизу, вверху или сбоку страницы.

WP-PageNavi — плагин пагинации WordPress

Самым популярным плагином пагинации для WordPress является WP-PageNavi . По-совести говоря, он настолько хорошо справляется с поставленной задачей пагинации, что обсуждать и сравнивать остальные плагины нет никакого смысла.

Пагинация WordPress - плагин WP-PageNavi

Пагинация wordpress без плагина

Для того чтобы сделать пагинацию на сайте без плагинов мы воспользуемся встроенной WordPress функцией the_posts_pagination(). В нужном нам месте необходимо вставить следующий код (как правило это файлы index.php , category.php и им подобные):

Результатом работы функции the_posts_pagination() будет примерно такой HTML код:

Удаляем заголовок H2 из пагинации

Сразу бросается в глаза H2-заголовок «Навигация по записям». Которому в большинстве случаев не место на сайте. Чтобы от него избавиться добавим следующий код в файл functions.php :

/* Удаляем H2 из пагинации */ add_filter("navigation_markup_template", "my_navigation_template", 10, 2); function my_navigation_template($template, $class){ return "

"; }

Настраиваем страницы пагинации

По умолчанию the_posts_pagination() отображает первую и последнюю страницу, а также по одной странице вокруг текущей. Все остальные заменяются многоточием. Это поведение можно изменить с помощью аргументов:

  • show_all - показывать все страницы
  • end_size - количество страниц в начале и конце списка
  • mid_size - количество страниц слева и справа от текущей страницы

Например так:

2, "end_size" => 2,)); ?>

Стили пагинации CSS

Page-numbers { padding: 1% 2%; box-shadow: 0 0 10px #ccc; margin: 0 1% 0 0; background: #fff; border-radius: 3px; }

Выглядеть ссылки на страницы пагинации при таких стилях будут следующим образом:

Здравствуйте, дорогие читатели блога. Сегодня я хочу рассказать Вам как сделать для блогов на WordPress простую контактную форму без плагинов.

Казалось бы ну зачем мучиться, если можно поставить самый обыкновенный плагин, который сам создаёт эту контактную форму:-) Например плагин Contact Form 7. Да, не спорю, отличный плагин, собственно он и у меня стоял. И Вы наверное спросите, зачем же я его убрал? А всё потому что он, оказывается, сильно грузит сервер (хостинг), таким образом и весь сайт не быстро загружается. Я честно не знаю почему из за него возникает нагрузка, но факт остаётся фактом.

Форма контактной связи для WordPress без плагинов

И так, теперь давайте начинать.

contact.php

Чтобы Вам было понятнее нам нужно создать файл contact.php . Для начала создайте обычный текстовый документ на рабочем столе. Создали? Ок:-) Теперь нужно зайти в админку Вашего блога в внешний вид, затем в редактор и выбрать шаблон страницы (page.php).

Теперь Вам нужно немного отредактировать тот код который находится в текстовом документе. Нужно найти вот эту строчку: и вместо её вставить Вот этот код:

/sendmail.php" method="post">

Это сама наша контактная форма, которая будет отображаться на странице.

Теперь посмотрите, что у меня получилось с новым contact.php:

< ?php /* Template Name: Contact */ ?> < ?php get_header(); ?>

< ?php if (have_posts()) : while (have_posts()) : the_post(); ?>

< ?php the_title(); ?>

/sendmail.php" method="post">

< ?php endwhile; else: ?>

< ?php _e("Sorry, no posts matched your criteria."); ?>

< ?php endif; ?>
< ?php get_sidebar(); ?> < ?php get_footer(); ?>

Вставили код? Поздравляю. Теперь ещё раз сохраняемся и переименовываем текстовый документ на contact.php.

sendmail.php

Теперь нам нужно сделать файл который будет отправлять сообщение на желаемый почтовый ящик.

Сейчас нужно опять создать текстовый документ и затем вставить в него вот этот код:

< ?php if (isset($_POST["name"])) {$name = $_POST["name"];} if (isset($_POST["email"])) {$email = $_POST["email"];} if (isset($_POST["sub"])) {$sub = $_POST["sub"];} if (isset($_POST["body"])) {$body = $_POST["body"];} $address = "[email protected]"; $mes = "Имя: $name \nE-mail: $email \nТема: $sub \nТекст: $body"; $send = mail ($address,$sub,$mes,"Content-type:text/plain; charset = UTF-8\r\nFrom:$email"); if ($send == "true") { echo "Спасибо, Ваше сообщение отправлено"; } else { echo "Сообщение не отправлено! Что то не так.."; } ?>

Данный код будет отправлять сообщения на Ваш почтовый ящик, главное не забудьте в строке $address = «[email protected]»; вставить Ваш почтовый ящик.

Не забываем переименовать наш текстовый документ на sendmail.php

Установка

После вышеперечисленных действий у нас получились 2 файла, это sendmail.php и contact.php. А вот теперь нам нужно их скинуть в папку с шаблонов блога WordPress. Это можно сделать через Ваш хостинг аккаунт или через файловый менеджер через ftp, как Вам будет удобно.

Подробнее заходим в корневую папку хостинга, далее в wp-content, затем в themes, ищем название нашего шаблона, открываем и скидываем туда файлы формы.

После того как все файлы скинуты, нужно зайти в админку блога, потом страницы и выбираем добавить новую.

Тут как обычно вводим заголовок, например «Контакты». Теперь переводим глаза в правую сторону монитора и ищим блок под названием «Атрибуты страницы»

И в поле «Шаблон» выбираем Contact.

Мы зададим ей простые стили CSS, чтобы немного преобразовать её.

CSS

Чтобы контактная форма стала красивее, скопируйте вот этот код в стили Вашего шаблона:

/* Контактная форма */ #contact label { display:block; padding:5px 0; } #contact input, #contact textarea { border:1px solid #ddd; padding:8px; width:300px; margin-bottom:10px; -moz-border-radius:4px; -webkit-border-radius:4px; } #contact textarea { width:560px; font-family:Arial, Helvetica, sans-serif; font-size:13px; } #contact input.submit{ border:none; width:160px; margin-top:10px; cursor:pointer; color:#333; border-radius:5px; border-bottom:2px solid #ccc; font-size:13px; color:#777; background: #ebebeb; margin:3px; padding:5px 5px 7px; -moz-transition: all 0.2s 0.01s ease-in; -o-transition: all 0.2s 0.01s ease-in; -webkit-transition: all 0.2s 0.01s ease-in; } #contact input.submit:hover{ color:#fff; background-color:#FF6766; border-bottom:2px solid #999; }

Вот и всё. Чтобы посмотреть наглядный пример, Вы можете зайти на мою .

Друзья, хочется сказать, что это самый простой вариант контактной формы для блогов WordPress. Но за то она совершенно не нагружает сервер, в отличии от плагинов.

Вот и всё, друзья, до скорых встреч.

У меня сейчас новое увлечение – оптимизировать блог на движке wordpress «Сетевой Путь» таким образом, чтобы и функционал сохранить, и при этом обойтись без плагинов

Нелюбовь к плагинам возникла не на пустом месте. Как-то по осени я решила, что возможностей моего хостера становится маловато и переехала на другой . А чтобы уж совсем было хорошо (как я себе подумала) – на виртуальный выделенный сервер

Бедный мой блог. Сколько уже на нем было проведено экспериментов! Другой уже бы просто накрылся медным тазом и не гугукал. В общем и целом, переезд оказался стратегической ошибкой. Денег выделенка стоила в разы больше, но при каждом наплыве народа стабильно показывалась ошибка 503 – терпение сервера лопнуло! Сервер не мог загрузить мой блог.

Ошибка 503
Каждому аккаунту на сервере выделено определенное количество процессов, обрабытывающих запросы пользователей. Запросы поступают на сервер и становятся в очередь. Легкие запросы обрабатываются быстро, а тяжёлые проблемные - медленно, тормозя продвижение очереди. Когда длина очереди достигает определенной величины, сервер перестает принимать новые запросы, возвращая ошибку 503 (Service Temporarily Unavailable, сервис временно недоступен)

Народ, натыкаясь на пустую страницу, писал и жаловался на отсутствие наличия обещанной информации

Я со своей стороны писала хостеру, просила, ругалась.

Служба поддержки хостинга очень старалась со своей стороны что-то решать, но все было бесполезно – блог мой в поиске стремительно падал в ноль . Трафик с поиска осенью и трафиком-то назвать было нельзя. Не трафик, а слезы.

К декабрю наши отношения со службой поддержки из конструктивно-терпимых уже плавно перетекали на стадию разборок: кто виноват и что делать. И как-то, посреди этих разборок, прозвучала мысль, что многовастенько у меня плагинов наставлено (на ту пору их было 37) .

Сейчас я тоже считаю, что это много . Но на обычном виртуальном хостинге это вообще никак не ощущалось! Поэтому я не стала в тот момент доводить наши споры хостером до войны и бегом вернула блог обратно на timeweb

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

Они создают дополнительные запросы к базе данных, дополнительную нагрузку на сервер и тем самым тормозят работу движка. Скорость и без того медлительного вордпресса падает и вездесущий Гугл начинает намекать, что Ваш блог, мол, медленнее других, а потому уступите дорогу в выдаче более шустрым. И это в лучшем случае! В моем случае, он мне жестко и твердо сказал:

Т.ч. отказ от плагинов начался, как вынужденная мера. Новые веяния требуют новых решений. Надо было искать альтернативные решения. WordPress без плагинов!

Чтобы разогнать вордпресс по максимуму, имеет смысл в нем покопаться и найти решение класса: «и волки сыты, и овцы целы» - сохранить привычный функционал и обойтись без плагинов. Ну, по крайней мере, без большинства плагинов.

Плагин – это небольшая программка вспомогательного типа. Она предназначена для расширения функционала основной программы (в нашем случае, WordPress), дополняя ее и улучшая в определенных моментах. При этом, основная программа включает в себя механизм исполнения плагина, то есть вордпресс может работать со вспомогательными программами.

Плюсы плагинов

  1. Плагины могут выполнять совершенно разные функции – начиная от решения простых задач и заканчивая сложными комплексными решениями (форумами, модулями интернет коммерции и т.п.)
  2. Установить их может даже новичок
  3. Не обязательно разбираться в php и css, чтобы усилить функционал блога

Минусы плагинов

  1. Избыточное число запросов к веб-серверу
  2. Запросы к базе данных могут быть очень тяжелыми, что накладывает повышенную нагрузку на сервер
  3. ПО времени обновления плагины могут не совпадать с обновлением самого движка и в результате перестают работать
  4. Чтобы запретить обновления, новички ставят дополнительные плагины
  5. Не каждый хостинг сможет выдержать больше 50 плагинов (в моем случае, он уже не адекватно себя вел с 37 плагинами)
  6. При переезде на новый хостинг могут возникнуть непредвиденные проблемы. Начиная с банальной перенастройки плагинов, кончая конфликтами и несовместимостью, а то и неработоспособностью отдельных плагинов. Буквально на днях мне пришлось решать проблему с плагином FacebookShare для одного партнера – некорректно работала кодировка

Подытоживая, могу сказать, что на сегодняшний день я отказалась от большинства плагинов, но при этом мой блог не изменился в смысле функциональности никак.

На Сетевом Пути активны 14 плагинов, из них стандартно-общепринятых только 4. Думаю, что это до тех пор, пока я не разберусь, как их заменить кусочком кода.

Вот что теперь на моем блоге работает прекрасно и без плагинов:

  1. Антиспам в комментариях
  2. Карта сайта
  3. Популярные записи в сайдбаре с картинками
  4. Похожие записи под постами (с выводом картинок) – как же на этот плагин все время ругался PageSpeed, его java скрипты и css таблицы даже после оптимизации и сжатия создавали неслабую нагрузку
  5. Хлебные крошки
  6. Постраничная навигация
  7. Топ комментаторов
  8. Кнопки рекомендаций Google+ и

Привет! WordPress без плагинов, что это? Недалёкое будущее или очередное заблуждение, раздутое недалёкими людьми. Можно ли создать сайт на wordpress без плагинов? Конечно можно! Но вопрос в другом, кто будет создавать этот сайт? Продвинутый вебмастер или зелёный чайник? Какого уровня и какой сложности будет данный сайт без плагинов? Понятно, что профи сделает вам сайт с помощью одного только кода.

Но суть не в этом, многие просто не понимают, что плагины это тот же код html, php, css, js. Устанавливая и активируя плагин, вы добавляете на свой сайт определённый код, тот же код, если бы вы создавали функцию плагина вручную.

Отличия могут быть лишь только в том, что при установки плагина, у вас в админ-панели wordpress появляется страница с настройками плагина. Но и то не все плагины имеют настройки и доп. страницы. Да, есть тяжёлые плагины, которые добавляют к вам в админ-панель множество страниц с настройками, с исходящими ссылками, рекламой и т.д. Но, опять же, если вы (что рекомендуется сделать), то какая вам разница?! Поисковым системам будет закрыт доступ в вашу админ-панель.

Получается, что по сути, минус только один – это вес плагина, всё остальное не имеет значение. И да же вес плагина это не так страшно, что такое 50 – 100 мегабайт? Это ничто, если у вас на хостинге от 10 до 100 гигабайт памяти на диске. Это просто смешно!

Иногда бывают проблемы с несовместимостью, но это нормально, темы у всех разные, всякое бывает. Если плагин как-то негативно влияет на ваш сайт, то просто удалите его, в чём проблема? Поищите другой плагин, который вам подходит. Одно из популярных заблуждений, то что плагины замедляют сайт. Это очередной бред, недалёких людей! Надо ещё поискать такой плагин, который существенно замедлит работу вашего сайта.

Можно установить 50 плагинов и с вашим сайтом будет всё в порядке, а можно установить пару плагинов и вы потеряете 0,2-0,5 секунд при загрузки страницы. Но опять же это смешно, как говорится – Красота требует жертв, это нормально.

Кроются далеко не в плагинах, всё это бред людей, которые не понимают и не знают вообще истинных причин. Получается, то что все эти слухи, домыслы, стереотипы про вред плагинов – всё это натуральный бред и маразм! Человек прочитал на заборе, то что петька дурак и теперь он убеждён, что петька настоящий дурак и негодяй, хотя в лицо его не знает!

Плагины WordPress – это настоящая революция в области сайтостроения, теперь чтобы создать свой сайт вам не нужно быть профессиональным веб-программистом и т.д. Всё что вам нужно, это уметь читать, немного мозгов и времени.

Есть множество , от которых просто крышу сносит, это реально супер эффективные инструменты, которые окажут вам максимальную пользу. Да, уходит много времени, чтобы разобрать всю эту гору плагинов и найти именно то что тебе нужно, но поверьте это стоит того. На данный момент с помощью плагинов можно создать абсолютно всё, любой сайт, любая функция, просто надо искать искать и ещё раз искать и в итоге вы найдёте и вы будете поражены, насколько всё просто. О этот волшебный мир WordPress, который с каждым днём удивляет всё больше и больше…

Приветствую! Вот наконец-то я и дождался своего отпуска, впереди целый месяц отдыха. Но это не означает что прекратится работа на блоге. И сегодня по плану очередной пост из рубрики Кодекс.

Вывод в конце каждого поста списка связанных записей улучшает поведенческие факторы на блоге, увеличивает время нахождения на ресурсе и т.д. Для этого не обязательно устанавливать плагины и достаточно обойтись простым кодом.

То, что плагины потребляют достаточное количество ресурсов ни для кого не секрет и я стараюсь избежать их использования, если это возможно. Одним из таких шагов навстречу оптимизации работы блога и ускорения загрузки является использование очень простого кода для вывода похожих записей на Вордпресс без плагинов.

Критерием схожести будет служить присвоение рубрики статье, т.е. в конце каждого поста можно вставить похожие записи из той же рубрики. И для этого не требуется присваивать посту метки (теги) — я их и не использую, от индексации они все равно закрываются, т.к. приводят к дублированию контента внутри одного , удобство их использования лично для меня остается под вопросом, а оставлять для красоты — не практично…

До того как я стал использовать код для вывода похожих записей я пользовался плагином WordPress Related Posts и хочу заметить, что внешний вид списка ничем не отличается ни при использовании плагина, ни после отказа он него в пользу кода. И это очень хорошо, что читатель внешне не находит отличий, ему не приходится привыкать к чему-то новому. Да я и сам люблю стабильность.

Немножечко про стабильность… Вот уже на протяжении двух месяцев Блог Свободного Вебмастера немного изменил свой внешний вид и перешел от трехколоночного дизайна (2 сайдбара + основная часть) к двухколоночному (остался один правый сайдбар, основная часть расширилась). Я так и не находил времени узнать у своих читателей мнения по поводу изменений. Как Вы считаете, так лучше?

Извиняюсь за оффтоп, продолжаю тему и собственно привожу сам код, способный заменить плагины и выводить список похожих записей без плагинов в конце каждой статьи:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Читайте также:

ID ) ; if ($categories ) { $category_ids = array () ; foreach ($categories as $individual_category ) $category_ids = $individual_category -> term_id ; $args = array ( "category__in" => $category_ids , "post__not_in" => array ($post -> ID ) , "showposts" => "5" , "orderby" => "rand" , "ignore_sticky_posts" => "1" , "no_found_rows" => true , "cache_results" => false ) ; $my_query = new wp_query($args ) ; if ( $my_query -> have_posts () ) { echo "
    " ; while ($my_query -> have_posts () ) { $my_query -> the_post () ; ?>
  • ">
  • " ; } wp_reset_query() ; } ?>

Читайте также:

ID); if ($categories) { $category_ids = array(); foreach($categories as $individual_category) $category_ids = $individual_category->term_id; $args=array("category__in" => $category_ids, "post__not_in" => array($post->ID), "showposts" => "5", "orderby" => "rand", "ignore_sticky_posts" => "1", "no_found_rows" => true, "cache_results" => false); $my_query = new wp_query($args); if($my_query->have_posts()) { echo "
    "; while ($my_query->have_posts()) { $my_query->the_post(); ?>
  • ">
  • "; } wp_reset_query(); } ?>

Обратите внимание на строку:

"orderby" => "rand",

Вот в принципе и все настройки.

В CSS можно задать дополнительные настройки внешнего вида, специально для этого исполняемый код заключен в класс

1 .sample-posts { }

Sample-posts {}

С помощью таблиц стилей есть возможность задать фон или подложить картинку на задний план, обвести в рамку, использовать другой шрифт, для списка использовать другие маркеры и т.д. — возможности ограничены лишь и собственной фантазией!

Желающих обсудить приглашаю к комментированию и если не трудно ответьте, пожалуйста, на вопрос заданный в середине записи)