mik*_*ato 24 php wordpress woocommerce
我一直在研究和调整我的自定义Wordpress主题并覆盖WooCommerce模板,现在安装了WooCommerce以纠正WooCommerce页面上出现的一堆小格式问题.我现在购物车和结账,他们使用cart.php
(和任何结帐php),但也使用主要的Wordpress主题page.php
.我已经能够is_woocommerce()
在其他地方使用条件但不在这里,因为我已经了解到WooCommerce文档说不能用于结账和购物车.
is_woocommerce() - 如果在使用WooCommerce模板的页面上,则返回true(cart和checkout是带有短代码的标准页面,因此不包括在内). http://docs.woothemes.com/document/conditional-tags/
那么我怎样才能改变这些页面的外观呢?我有一个"查看所有帖子"和顶部的日期/时间,以及page.php的类别侧边栏,我不想出现在结帐和购物车上的明显原因,因为它们根本没有意义.我有什么选择?
我可以使用除page.php之外的其他模板吗?
这是一个选择吗?这是不好的做法......它是否会在这个循环的每个页面上造成更多负载?我把它放在哪里? http://saiyedfaishal.wordpress.com/2014/01/06/check-if-it-is-woocommerce-page/
最好的方法是什么?谢谢你的帮助!这个问题与 - 如何修改woocommerce_before_cart动作有些相关
ken*_*ken 39
另一种完全覆盖cart.php的方法是复制:
woocommerce/templates/cart/cart.php to
yourtheme/woocommerce/cart/cart.php
Run Code Online (Sandbox Code Playgroud)
然后在yourtheme/woocommerce/cart/cart.php做任何你需要的事情
Pat*_*ren 18
您可以使用函数:wc_get_page_id('cart')来获取页面的ID.此功能将页面设置用作"购物车"页面,而不是slug.这意味着当您在设置页面上为"购物车"设置不同的网址时,它也会继续有效.这适用于所有类型的Woocommerce特殊页面,如"结账","商店"等.
例:
if (wc_get_page_id( 'cart' ) == get_the_ID()) {
// Do something.
}
Run Code Online (Sandbox Code Playgroud)
WooCommerce 有许多用于修改购物车和结帐页面的选项。以下是我推荐的三个:
is_cart()
和is_checkout()
函数在其页面上返回 true。例子:
if ( is_cart() || is_checkout() ) {
echo "This is the cart, or checkout page!";
}
Run Code Online (Sandbox Code Playgroud)
主要的购物车模板文件位于 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,但忘记删除此文件,则内部代码(可能依赖 WooCommerce 函数)不会中断,因为它从未被调用(除非您有一个页面蛞蝓{slug}
)。
例如:
wp-content/themes/{current-theme}/page-cart.php
wp-content/themes/{current-theme}/page-checkout.php
归档时间: |
|
查看次数: |
101508 次 |
最近记录: |