Как добавить виджет в вордпресс

Так получилось, что свое знакомство с 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 вашей темы.

 

Выпадающее меню на вордпресс

Для меня настало время разобраться как интегрировать верстку многоуровневого выпадающего меню в вордпресс. Сначала, конечно, было разобрано как это сделать для одноуровневого меню. Алгоритм следующий:

  1. В файле functions.php надо добавить тип меню:
    register_nav_menus(array(   
      'footer_menu' => 'Меню в footer'
    ));
  2. В то место верстки, где раньше была конструкция 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 прописывается функция хлебных крошек: Читать далее «Хлебные крошки на вордпресс без плагина»