如何在 WooCommerce 页面上维护 Wordpress 中的侧边栏位置

Posted

技术标签:

【中文标题】如何在 WooCommerce 页面上维护 Wordpress 中的侧边栏位置【英文标题】:How to maintain sidebar placement in Wordpress on WooCommerce pages 【发布时间】:2012-07-24 09:46:01 【问题描述】:

如果您在 wordpress 中使用侧边栏,您可以在其中放置导航菜单等内容。

要将侧边栏放置在右侧容器元素中,您只需在该元素内调用<?php get_sidebar(); ?>,侧边栏应放置在其中。

例如,以下代码应该会在您的 wordpress 页脚中产生一个侧边栏:

<footer class="footer">
  <div id="inner-footer">
    <div id="main-content-footer" class="span_16">

      <?php get_sidebar(); ?>

    </div>
  </div>
</footer>

此代码适用于未与 WooCommerce 集成的页面,例如首页。

在使用 WooCommerce 的页面上,&lt;?php get_sidebar(); ?&gt; 生成的代码将出现在 div 元素 #inner-content 的页脚之外,该元素位于名为 #content 的父 div 内。

哪些文件负责在 woocommerce 中正确放置侧边栏代码? WooCommerce 是否有可能生成它自己的&lt;?php get_sidebar(); ?&gt;?如果是这样,我该怎么做才能确保我的导航侧边栏不受 WooCommerce 影响?

谢谢大家

【问题讨论】:

【参考方案1】:

似乎这个问题与 WooCommerce 钩子及其内容的包装方式与“正常”主题的布局方式有关。

简单的解决方法是使用 woocommerce_content() 为 WooCommerce 页面指定您自己的模板。请参阅此处的文档: http://wcdocs.woothemes.com/codex/third-party-custom-theme-compatibility/

解决此问题的另一种方法是用您自己的覆盖他们的 sidebar.php 文件。此处的文档:http://wcdocs.woothemes.com/codex/template-structure/

【讨论】:

感谢您的回答,我会调查一下。【参考方案2】:

在您的主题目录(与functions.php 相同的级别)中复制simgle-product.php 文件。这是单个产品页面的模板。移除所有必要的挂钩,包括侧边栏挂钩。然后,请参阅此论坛:http://phponlinesupport.com/woocommerce-sidebar-t157932.html 以完成为商店页面制作自己的自定义侧边栏的工作。

注意:创建 sidebar-shop.php 文件时,一定要包含一个

祝你好运。

【讨论】:

【参考方案3】:

这对我有用。此代码片段将 WooCommerce 侧边栏从出现在 #primary 块之后删除,因此您可以在布局中使用 get_sidebar('shop')。

<?php 
// in your themes functions.php

/* remove sidebar */
function woocommerce_remove_sidebar_shop() 
    if( is_woocommerce() )
       remove_action( 'woocommerce_sidebar', 'woocommerce_get_sidebar', 10);
    

add_action( 'template_redirect', 'woocommerce_remove_sidebar_shop' );

?>

【讨论】:

以上是关于如何在 WooCommerce 页面上维护 Wordpress 中的侧边栏位置的主要内容,如果未能解决你的问题,请参考以下文章

woocommerce-如何仅在商店页面上显示子类别?

Woocommerce - 如何在自定义页面上显示当前用户的订单?

如何防止 Woocommerce 在结帐页面上选择默认付款方式?

如何在 WooCommerce 的订单支付页面上检索订单 ID

如何使用模板在 WooCommerce 的两个不同页面上显示登录和注册表单

Woocommerce我如何将添加到购物车按钮集中在单个页面上