Intereting Posts
Известные проблемы в WordPress при обновлении PHP до версии 7 favicon теперь появляется Показать кнопку в заголовке, когда пользовательское поле продукта не пустое Использование процессора HIgh – Будет ли использование плагинов кешей WP Query / Meta Query Текущее сообщение Родительская категория и ссылки на детские категории Код для создания перенаправления после входа в систему? Создание пользователя без имени пользователя и пароля Настройка содержимого SERP для WordPress Blog Просмотр редактируемого текста над списками документов CPT wp_editor не изменяет теги html исходного содержимого Как создать персональные страницы пользователя с информацией из своих полей метапрофиля? Как правильно отправить форму поиска и отобразить результат на отдельной странице Оберните / закройте «запрос» для заказанного письма с первым письмом Страница не загружается

Почтовые специфические виджеты в теме WordPress «Двадцать четырнадцать»

Используя WordPress 3.8.1 с темой «Двадцать четырнадцать», я хотел бы разместить свой пост таким образом, чтобы его основное содержимое переходило в основной (центральный) столбец, в то время как галереи, прикрепленные файлы и ссылки, относящиеся к этому сообщению, переходите на панель содержимого до право. Как я могу это сделать? Нужны ли мне определенные плагины?

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

Вы можете установить плагин как видимость виджетов или Widget Logic, которая позволяет добавлять условные теги, чтобы указать, какие сообщения, страницы и т. Д. Отображаются вашими виджетами.

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

Пример:

Если вы хотите, чтобы ваш виджет отображался в отдельных сообщениях, вы должны добавить условный тег:

is_single() 

или

 is_singular('post') 

Чтобы исключить отображение виджетов на отдельные сообщения, вы должны использовать тот же условный тег, что и этот:

 !is_single() 

См. Этот пример кода, если вы хотите закодировать свои собственные виджеты боковой панели.

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

Регистрирует новый виджет

 add_action( 'widgets_init', 'wpsites_add_widget' ); function wpsites_add_widget() { register_sidebar(array( 'name'=>'Custom Widget', 'id' => 'custom-widget', )); } 

Добавить в файл шаблона, например single.php

 <?php if ( is_active_sidebar( 'custom-widget' ) ) : ?> <ul id="sidebar"> <?php dynamic_sidebar( 'custom-widget' ); ?> </ul> <?php endif; ?> 

Источник http://codex.wordpress.org/Function_Reference/dynamic_sidebar

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

Например, это позволит отображать только виджет основного текста на боковой панели с идентификатором «sidebar-1»:

 add_filter( 'widget_display_callback', function ($instance, $widget, $sidebar){ if ( is_single() && 'sidebar-1' === $sidebar['id'] ) { if ('WP_Widget_Text' !== get_class($widget)) { return false; } } return $instance; }, 10,3 );