Так получилось, что свое знакомство с cms я начал с битрикс. И когда столкнулся с вордпрессом, то не понравилось, что в нем нет включаемых областей (как в битрикс). Включаемые области — это такой компонент битрикс, который позволяет рядовому пользователю через административный раздел редактировать информацию в шаблоне. Чаще всего это режим работы, адрес, контактные телефоны и др. Но сейчас я знаю, что в вордпресс есть отличная альтернатива этому механизму, и называется она виджетами. Читать далее «Как добавить виджет в вордпресс»
Как отправить данные через POST
На сайте есть форма с полями ввода, ее данные отправляются на сервер с помощью post-запроса. В скрипт-обработчик со стороны сервера необходимо добавить некоторые данные, выбираемые пользователем. Смысл в том, что эти данные не в форме, и просто так передать их от клиента на сервер нельзя. Но, есть такая полезная вещь, как
<input type="hidden" name="my__info" id="class__auto" />
Атрибут hidden говорит о том, что данное поле не будет видно на сайте, оно предназначено для других целей. С помощью него можно передать некоторую информацию на сервер. Для этого с помощью js в него записывается необходимое значение:
document.getElementById("class__auto").value = document.getElementsByClassName(to)[0].getElementsByClassName(class__auto)[0].getElementsByTagName("p")[0].innerHTML+" рублей";
Теперь на сервере, при обращении
$class__auto = $_POST['class__auto'];
мы получим необходимую информацию.
Как обновить версию phpmyadmin
Раньше никогда не задумывался какая версия phpmyadmin стоит у меня на openserver. Однако, возникла ситуация — нужно было восстановить на локальной машине сайт на вордпресс. Как это делается указано в этой статье. И вот, файловую систему я скопировал, создал базу данных и хочу импортировать данные из образа сайта, однако натыкаюсь на ошибку 1064
Читать далее «Как обновить версию phpmyadmin»
contact form 7 не отправляет письма
Попросили посмотреть сайт, на котором перестала работать форма обратной связи. Сайт был на вордпрессе, а контактная форма реализована с помощью плагина Contac Form 7. Внешне при заполнении формы и при ее отправке не было ничего подозрительного, по крайней мере так я думал. Однако подозрительное было — при удачной отправке формы всегда снизу показывалось информационное сообщение в зеленой рамочке. Теперь этого не происходило. Читать далее «contact form 7 не отправляет письма»
Перенос сайта на другой хостинг
Возникала необходимость перенести сайт на другой хостинг. Сайт был на cms WordPress, поэтому алгоритм действий следующий:
- Образ файловой системы
- Экспорт базы данных
Файловая система содержит все необходимые папки и файлы, необходимые для функционирования вордпресса. Поэтому сделать архив файлов через фтп или cpanel не представляет ничего сложного. Естественно на сервере необходимо сделать архив, и себе загружать уже архив, потому как если качать пофайлово, то это займет очень много времени.
Экспорт базы данных позволит перенести все данные с сайта: статьи, пользователи, настройки и т.д — все это храниться в базе данных. Делается экспорт через phphmyadmin либо средствами хостинга. Все, исходные данные теперь есть. Да, и конечно же надо знать имя базы данных, ее пользователя и пароль. Их, в случае с вордпрессом, можно посмотреть в файле wp-config.php. Читать далее «Перенос сайта на другой хостинг»
Как сделать мультиязычный сайт
Раньше над этим вопросом никогда не задумывался. Однако, когда наступила необходимость, пришлось разобраться в данном вопросе. Итак, передо мной стояла задача сделать двуязычный сайт на вордпресс. И, конечно же, первые мои поиски в гугле натыкались на статьи, рекомендующие самые разные плагины (как платные, так и бесплатные). Однако, попробовав самый популярный бесплатный плагин PolyLang, быстро понял, что для задачи сделать две независимые версии сайта, выглядящие одинаково, только с информацией на разных языках он не подойдет. Читать далее «Как сделать мультиязычный сайт»
Как подключить файл стилей вордпресс
Подключение дополнительных файлов стилей замедляет работу сайта и будет негативно расценено тестом скорости от гугл. Проще всего свои дополнительные стили добавлять в style.css, лежащий в корневой директории темы. Однако, если стоит задача все-таки подключить еще один файл, то делать это надо так:
function add_theme_styles() {
// вместо style.css имя вашего файла стилей
wp_enqueue_style( 'main-stylesheet', get_template_directory_uri() . '/style.css', false, '1.0.0' 'all' );
}
add_action( 'wp_enqueue_scripts', 'add_theme_styles' );
Данный код необходимо добавить в файл functions.php вашей темы.
Выпадающее меню на вордпресс
Для меня настало время разобраться как интегрировать верстку многоуровневого выпадающего меню в вордпресс. Сначала, конечно, было разобрано как это сделать для одноуровневого меню. Алгоритм следующий:
- В файле functions.php надо добавить тип меню:
register_nav_menus(array( 'footer_menu' => 'Меню в footer' ));
- В то место верстки, где раньше была конструкция ul>li>a добавляем код:
wp_nav_menu(array( 'theme_location' => 'footer_menu', // расположение меню в теме 'menu' => '', // название меню 'container' => 'div', // контейнер для меню, по умолчанию 'div', в нашем случае ставим 'nav', пустая строка - нет контейнера 'container_class' => '', // класс для контейнера 'container_id' => '', // id для контейнера 'menu_class' => 'footer-menu', // класс для меню 'menu_id' => '', // id для меню ));
Тут важно понимать, что с помощью данной функции можно задать класс только для тега ul, для тегов li и a этого сделать данным механизмом нельзя. Отсюда сразу следует, что если вы оформляли в css используя классы для элементов списка и ссылок, то нужно будет эти селекторы переписывать. Вордпресс сам вставит свои системные имена классов для этих элементов.
Теперь как быть с многоуровневым меню? Как правило его верстают с использованием bootstrap и приведенное ниже решение подходит только для сайтов, сверстанных с использованием данного фрэймворка. Тут алгоритм будет следующий: в functions.php прописываем код:
/* Nav Walker for bootstrap menu */ add_action( 'after_setup_theme', 'wpt_setup' ); if ( ! function_exists( 'wpt_setup' ) ): function wpt_setup() { register_nav_menu( 'primary', __( 'Primary navigation', 'wptuts' ) ); } endif; // Register custom navigation walker require_once('wp_bootstrap_navwalker.php');wp_bootstrap_navwalker.php есть на github. Именно он и реализует вывод вложенного меню, для этого, в то место верстки, где располагалось меню необходимо внести:
<nav class="navbar navbar-default" role="navigation"> <div class="container-fluid"> <!-- Brand and toggle get grouped for better mobile display --> <div class="navbar-header"> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> </div> <?php wp_nav_menu( array( 'menu' => 'primary', 'theme_location' => 'primary', 'depth' => 2, 'container' => 'div', 'container_class' => 'collapse navbar-collapse', 'container_id' => 'bs-example-navbar-collapse-1', 'menu_class' => 'nav navbar-nav', 'fallback_cb' => 'wp_bootstrap_navwalker::fallback', 'walker' => new wp_bootstrap_navwalker()) ); ?> </div> </nav>
После этого, возможно придется немного подкорректировать стили, но самое главное — появится меню. Само меню еще нужно корректно настроить в админке сайта
Хлебные крошки на вордпресс без плагина
Стояла задача на сайты выводить цепочку навигации, так называемые хлебные крошки. Очень многие решаю данную проблему установкой различных плагинов, но я стараюсь там, где это возможно обходиться без их использования. Вроде бы перед установкой хлебных крошек должны быть установлены cyr-to-lat и настроены чпу ссылок.
Затем в файле functions.php прописывается функция хлебных крошек: Читать далее «Хлебные крошки на вордпресс без плагина»
