自定义侧边栏的 Woocommerce 条件标签是 twentyseventeen 主题
Woocommerce conditional tags for custom sidebar is twentyseventeen theme
我正在使用 twentyseventeen 主题和 Woocommerce,并希望为我的 woo 商务页面提供自定义侧边栏,而不是将在网站其他地方使用的默认主题侧边栏 (sidebar-1)。
所以在我的子主题 functions.php 中,我注册了我的自定义侧边栏 (sidebar-6),用小部件填充它并尝试在我的子主题 sidebar.php 中使用 woo commerce 条件标签调用它
我是条件标签的新手,尽管遵循了各种在线网站上的建议,但到目前为止还无法使它起作用。如果有人能指出我正确的方向,我将不胜感激。
原来的主题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 ?>
非常感谢您对此的任何建议!
您在以下情况下有误:
if ( is_woocommerce() ) : {
return;
}
基本上上面你说的是如果它是 Woocommerce 页面 return 而什么都不做。
正确的是:
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; ?>
我以前用过这个插件,它会做你需要它做的事情。它还将为您提供一种更简单的方法来添加更复杂的场景。
我正在使用 twentyseventeen 主题和 Woocommerce,并希望为我的 woo 商务页面提供自定义侧边栏,而不是将在网站其他地方使用的默认主题侧边栏 (sidebar-1)。
所以在我的子主题 functions.php 中,我注册了我的自定义侧边栏 (sidebar-6),用小部件填充它并尝试在我的子主题 sidebar.php 中使用 woo commerce 条件标签调用它
我是条件标签的新手,尽管遵循了各种在线网站上的建议,但到目前为止还无法使它起作用。如果有人能指出我正确的方向,我将不胜感激。
原来的主题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 ?>
非常感谢您对此的任何建议!
您在以下情况下有误:
if ( is_woocommerce() ) : {
return;
}
基本上上面你说的是如果它是 Woocommerce 页面 return 而什么都不做。
正确的是:
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; ?>
我以前用过这个插件,它会做你需要它做的事情。它还将为您提供一种更简单的方法来添加更复杂的场景。