Intereting Posts
Получить всех пользователей из базы данных wordpress через REST / JSON API Как связать каталог тематических шрифтов в WordPress CSS? single-{post-type} .php не работает в wordpress Получение текущего номера сообщения / увеличения количества сообщений Невозможно удалить jQuery по умолчанию в теме Обновить значение настраиваемого поля Как отображать ничего (вместо значения по умолчанию), когда пользователь gravatar не присутствует? Как перечислять все значения из массива get_body_class Автоматически прокручивается код с недавним заголовком? Как получить пользовательский тип сообщения с категориями мудрый в WordPress с помощью wp_query Получение 404 при попытке загрузить /wp-admin/plugin-install.php не может изменить нижний колонтитул Выведите параметр aria-labelledby для дочернего меню навигационного меню Вопрос о подсчете CPT в таксономии Замена пользовательского поля на короткий код

Лучший способ создания нескольких боковых панелей

Я очень хорошо знаю, how to make multiple sidebars . Но я считаю, что мой способ – не правильный способ добавления нескольких боковых панелей.

Вот как я добавляю несколько боковых панелей

Если я просто хочу создать боковую панель, я использую файл sidebar.php. НО, если я хочу использовать другую боковую панель, тогда мне нужно создать еще один php-файл, например sidebar-new.php . Затем вызовите этот файл как

  <?php get_sidebar('new'); ?> 

Это означает, что если я хочу создать 4 боковых панели, тогда мне нужно сделать 4 php-файла!

НО Я видел много тем (на рынке WordPress), которые предоставляют множество боковых панелей, но они содержат только один файл php для боковой панели (sidebar.php)! Как они это делают? Я узнал о создании боковых панелей из Google ранее, но в поиске я получаю только те результаты, которые я использую прямо сейчас (создаем несколько файлов для нескольких боковых панелей).

Итак, как я могу создать несколько боковых панелей без создания нескольких php-файлов !! ???

Определение новой боковой панели в ваших функциях.php

 <?php if ( function_exists('register_sidebar') ) { register_sidebar(array( 'before_widget' => '<li id="%1$s" class="widget %2$s">', 'after_widget' => '</li>', 'before_title' => '<h2 class="widgettitle">', 'after_title' => '</h2>' )); }?> 

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

 <?php if ( function_exists('register_sidebar') ) { register_sidebar(array( 'name' => 'sidebar 1', 'before_widget' => '<div id="%1$s" class="widget %2$s">', 'after_widget' => '</div>', 'before_title' => '<h2>', 'after_title' => '</h2>' )); register_sidebar(array( 'name' => 'footer sidebar 1', 'before_widget' => '<div id="%1$s" class="widget %2$s">', 'after_widget' => '</div>', 'before_title' => '<h2>', 'after_title' => '</h2>' )); }?> 

Добавление новой боковой панели в шаблон

В вашем файле sidebar.php измените вызов на существующую боковую панель, чтобы добавить его имя, которое вы определили в файле functions.php ранее.

 <?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('sidebar 1') ) : ?> <h2>Articles by month</h2> <ul> <?php wp_get_archives('title_li=&type=monthly'); ?> </ul> <h2>Categories</h2> <ul> <?php wp_list_categories('show_count=0&title_li='); ?> </ul> <?php endif; ?> 

Чтобы добавить новую боковую панель, вы можете скопировать приведенный выше код или просто скопировать следующие строки. Добавьте эти строки туда, где бы вы хотели, чтобы ваши новые виджеты отображались. В этом примере вы можете увидеть по имени, которое я размещаю в нижнем колонтитуле моего веб-сайта. Как и прежде, не забудьте указать правильное имя боковой панели. В приведенном выше коде html, который появляется между операторами php, будет отображаться, если на боковой панели нет добавленных виджетами. Этот код «по умолчанию», очевидно, может быть изменен в соответствии с вашей темой. В следующем коде, поскольку нет дополнительного html, ничего не будет отображаться, если виджет не будет добавлен в боковую панель в панели инструментов WordPress.

 <?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('footer sidebar 1') ) : ?> <?php endif; ?> 

Вы можете различать боковые панели внутри sidebar.php . Я не знаю, какова ваша цель, но давайте предположим, что вам нужны разные боковые панели на отдельных страницах / страницах и других страницах.

В вашем functions.php вы зарегистрируете две боковые панели с singular default id и по default обычным способом с помощью register_sidebar .

Затем в sidebar.php вы sidebar.php что-то вроде

 if (is_singular) {dynamic_sidebar('singular');} else {dynamic_sidebar('default');} 

Конечно, есть много способов варьироваться. Вы можете отображать различные боковые панели в зависимости от категории или, возможно, никакой боковой панели вообще на специальном шаблоне страницы под названием «один столбец».

Вы можете создать несколько боковых панелей с помощью редактора vc или wordpress с помощью https://codecanyon.net/item/custom-sidebar-visual-editor-wordpress-plugin/17329853.