如何修改WooCommerce购物车,结账页面(主主题部分)


How to modify WooCommerce cart, checkout pages (main theme portion)

我一直在研究和调整我的自定义Wordpress主题和重写的WooCommerce模板,现在安装了WooCommCommerce来纠正WooComm商务页面上出现的一系列小格式问题。我现在讨论购物车和结账,是的,他们使用cart.php(以及任何结账php),但也使用Wordpress的主主题page.php。我已经能够在其他地方的条件下使用is_woocommerce(),但在这里不行,因为我了解到WooCommerce文档说它不能在结账和购物车上使用。

is_woocommerce()-如果在使用woocommerce模板的页面上(购物车和结账是带有短代码的标准页面,因此不包括在内),则返回true。http://docs.woothemes.com/document/conditional-tags/

那么我该如何更改这些页面的外观呢?我有一个"查看所有帖子",顶部有一个日期/时间,还有page.php的分类侧边栏,我不想因为明显的原因出现在结账和购物车上,因为它们根本没有意义。我有什么选择?

我可以使用page.php以外的其他模板吗?

这是一种选择吗?这是不好的做法吗。。。这个循环是否会在每个页面上造成更多的负载?我该把它放在哪里?http://saiyedfaishal.wordpress.com/2014/01/06/check-if-it-is-woocommerce-page/

对此最好的方法是什么?谢谢你的帮助!这个问题与-如何修改woommerce_before_cart-action 有关

完全覆盖cart.php的另一种方法是复制:

woocommerce/templates/cart/cart.php to   
yourtheme/woocommerce/cart/cart.php

然后在您的主题/woocommerce/cart/cart.php

上执行您需要的任何操作

您可以使用函数:wc_get_page_id('cart')来获取页面的id。此功能将使用页面设置作为"购物车"页面,而不是段塞。这意味着当你在设置页面上为你的"购物车"设置不同的url时,它也会继续工作。这适用于所有类型的Wooccommerce特殊页面,如"结账"、"商店"等。

示例:

if (wc_get_page_id( 'cart' ) == get_the_ID()) {
  // Do something.
}

您可以使用is_cart()条件标记:

if (! is_cart() ) {
  // Do something.
}
WooCommerce有许多修改购物车和结账页面的选项。以下是我建议的三个:

使用WooCommerce条件标记

CCD_ 4和CCD_ 5函数在它们的页面上返回true。示例:

if ( is_cart() || is_checkout() ) {
    echo "This is the cart, or checkout page!";
}

修改模板文件

主购物车模板文件位于wp-content/themes/{current-theme}/woocommerce/cart/cart.php

主签出模板文件位于wp-content/themes/{current-theme}/woocommerce/checkout/form-checkout.php

要编辑这些,请先将它们复制到您的子主题中。

使用wp-content/themes/{current-theme}/page-{slug}.php

page-{slug}.php是将要使用的第二个模板,位于通过WP面板手动分配的模板之后。

这比我的其他解决方案更安全,因为如果你删除了WooCommerce,但忘记删除这个文件,里面的代码(可能依赖于WooCommCommerce函数)不会中断,因为它永远不会被调用(除非你有一个带有slug {slug}的页面)。

例如:

  • wp-content/themes/{current-theme}/page-cart.php
  • wp-content/themes/{current-theme}/page-checkout.php

我发现这是page.php中的一个条件,它包括WooCommerce购物车和结账屏幕。

!is_page(array('cart', 'checkout'))

我使用page-checkout.php模板来更改购物车页面的标题。我在/wp-content/themes/childtheme/wooccommerce/中将其重命名为page-cart.php。这使您能够更好地控制换行html、页眉和页脚。