Условные теги WooCommerce для пользовательской боковой панели - это тема двадцать семнадцати. - PullRequest
0 голосов
/ 06 октября 2018

Я использую двадцать семнадцать тем и Woocommerce и хочу иметь собственную боковую панель для своих страниц торговли woo, а не боковую панель темы по умолчанию (sidebar-1), которая будет использоваться в другом месте на сайте.

Итакв functions.php моей дочерней темы я зарегистрировал свою пользовательскую боковую панель (sidebar-6), заполнил ее виджетами и попытался вызвать ее с помощью условного тега woo commerce в sidebar моей дочерней темы. php

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

Оригинальная тема sidebar.php выглядит следующим образом

if ( ! is_active_sidebar( 'sidebar-1' ) ) {
return;
}
?>

<aside id="secondary" class="widget-area" role="complementary" 
aria-label="<?php esc_attr_e( 'Blog Sidebar', 'twentyseventeen' ); 
?>">
<?php dynamic_sidebar( 'sidebar-1' ); ?>
</aside><!-- #secondary -->

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

if ( is_woocommerce() ) : {
return;
}
?>

<aside id="secondary" class="widget-area" role="complementary" 
aria-label="<?php esc_attr_e( 'Shop Sidebar', 'twentyseventeen' );    
?>">
<?php dynamic_sidebar( 'sidebar-6' ); ?>
</aside><!-- #secondary -->


<?php else:
return;
}

?>
<aside id="secondary" class="widget-area" role="complementary" 
aria-label="<?php esc_attr_e( 'Blog Sidebar','twentyseventeen');         
?>">
<?php dynamic_sidebar( 'sidebar-1' ); ?>
</aside><!-- #secondary -->
<?php endif ?>

Большое спасибо за любые советы с этим!

Ответы [ 2 ]

0 голосов
/ 06 октября 2018

Я использовал этот плагин раньше, и он будет делать именно то, что вам нужно.Это также даст вам более простой способ добавления более сложных сценариев.

https://en -gb.wordpress.org / plugins / custom-sidebars /

0 голосов
/ 06 октября 2018

у вас есть ошибка в следующем состоянии:

if ( is_woocommerce() ) : {
return;
  }

в основном выше, вы говорите, если это Woocommerce страницы возвращаются и ничего не делают.

вот правильный:

if ( is_woocommerce() && is_active_sidebar( 'sidebar-6' ) ) :?>
<aside id="secondary" class="widget-area" role="complementary" 
aria-label="
    <?php esc_attr_e( 'Shop Sidebar', 'twentyseventeen' ); ?>">
    <?php dynamic_sidebar( 'sidebar-2' ); ?>
</aside><!-- #secondary -->
    <?php
    elseif ( is_active_sidebar( 'sidebar-1' ) ) :
        ?>
<aside id="secondary" class="widget-area" role="complementary" 
aria-label="<?php esc_attr_e( 'Blog Sidebar', 'twentyseventeen' ); ?>">
        <?php dynamic_sidebar( 'sidebar-1' ); ?>
</aside><!-- #secondary -->
<?php endif; ?>
...