如何在 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 的页面上,<?php get_sidebar(); ?>
生成的代码将出现在 div 元素 #inner-content 的页脚之外,该元素位于名为 #content 的父 div 内。
哪些文件负责在 woocommerce 中正确放置侧边栏代码? WooCommerce 是否有可能生成它自己的<?php get_sidebar(); ?>
?如果是这样,我该怎么做才能确保我的导航侧边栏不受 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 的订单支付页面上检索订单 ID