Пользовательская боковая панель только в одном посте

Я разрабатываю дочернюю тему для новой двадцать тринадцатой темы, и я пытаюсь добавить боковую панель (область виджета) рядом с моим контентом. Я только хочу, чтобы он отображался в single сообщениях.

Что я сделал: отредактируйте single.php (и добавьте его в папку моей дочерней темы) так:

 get_header(); ?> <div id="primary" class="content-area"> <div id="content" class="site-content" role="main"> <?php /* The loop */ ?> <?php while ( have_posts() ) : the_post(); ?> <?php get_template_part( 'content', get_post_format() ); ?> <?php get_sidebar('sidebar-3'); ?> <!-- DOESN'T WORK --> <!-- /END of sidebar-aside-content --> <?php twentythirteen_post_nav(); ?> <?php comments_template(); ?> <?php endwhile; ?> </div><!-- #content --> </div><!-- #primary --> <?php get_sidebar(); ?> <?php get_footer(); ?> 

И зарегистрировал боковую панель в functions.php, например:

 function mobiel_informatie_widgets_init() { register_sidebar( array( 'name' => __( 'Sidebar next to content', 'twentythirteen' ), 'id' => 'sidebar-3', 'description' => __( 'Wordt naast een single post weergegeven.', 'twentythirteen' ), 'before_widget' => '<aside id="%1$s" class="widget %2$s">', 'after_widget' => '</aside>', 'before_title' => '<h3 class="widget-title">', 'after_title' => '</h3>', ) ); } add_action( 'widgets_init', 'mobiel_informatie_widgets_init' ); 

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

EDIT1:

Вот несколько иллюстраций для иллюстрации моей проблемы:

Код моего single.php

Код моего single.php


Виджет в WP, отлично работает

Виджет в WP, отлично работает


Выход – ничего не выводится . Должно быть что-то перед комментарием /END .

Выход - ничего не выводится

Единственное, что я могу думать о том, почему это не сработает, – это конфликт с родительской темой (двадцать тринадцать). Он имеет twe sidebars, написанный в functions.php, например:

 /** * Registers two widget areas. * * @since Twenty Thirteen 1.0 * * @return void */ function twentythirteen_widgets_init() { register_sidebar( array( 'name' => __( 'Main Widget Area', 'twentythirteen' ), 'id' => 'sidebar-1', 'description' => __( 'Appears in the footer section of the site.', 'twentythirteen' ), 'before_widget' => '<aside id="%1$s" class="widget %2$s">', 'after_widget' => '</aside>', 'before_title' => '<h3 class="widget-title">', 'after_title' => '</h3>', ) ); register_sidebar( array( 'name' => __( 'Secondary Widget Area', 'twentythirteen' ), 'id' => 'sidebar-2', 'description' => __( 'Appears on posts and pages in the sidebar.', 'twentythirteen' ), 'before_widget' => '<aside id="%1$s" class="widget %2$s">', 'after_widget' => '</aside>', 'before_title' => '<h3 class="widget-title">', 'after_title' => '</h3>', ) ); } add_action( 'widgets_init', 'twentythirteen_widgets_init' ); 

В дополнение к ответу на wordpresser вы также можете вызвать get_sidebar («sidebar-aside-content»); только в файлах шаблонов, где вы хотите отобразить боковую панель. Например, если вы включили

 <?php get_sidebar('sidebar-aside-content'); ?> 

в файле «theme_folder / single.php» боковая панель будет отображаться только в отдельных сообщениях.

Например. В functions.php:

 //Register your sidebar add_action( 'widgets_init', 'my_widgets_init' ); function my_widgets_init() { register_sidebar( array( 'name' => __( 'The title of my sidebar', 'curioso' ), 'id' => 'sidebar-mysidebar', 'description' => 'An optional widget area for my sidebar', 'before_widget' => '<div id="%1$s" class="widget %2$s">', 'after_widget' => "</div>", 'before_title' => '<h3>', 'after_title' => '</h3>', ) ); } 

Теперь вам нужно создать файл с именем sidebar-mysidebar.php и поместить его в папку темы. Этот файл загрузит виджеты. Например:

  <?php if ( is_active_sidebar( 'sidebar-mysidebar' ) ) : ?> <div class="mysidebar"> <?php dynamic_sidebar( 'sidebar-mysidebar' ); ?> </div> <?php endif; ?> 

Теперь в файле вашей темы, где вы хотите отобразить «mysidebar»:

 <?php get_sidebar('mysidebar'); ?> 
 <?php get_sidebar('Widget Area Next to Content'); ?> 

должно быть

 <?php get_sidebar('sidebar-aside-content'); ?> 

для отображения только на отдельных сообщениях

 <?php if(is_single) get_sidebar('sidebar-aside-content'); ?>