Php 如何修改购物车、结帐页面(主主题部分)
我一直在研究和调整我的自定义Wordpress主题,并用现在安装的WooCommerce覆盖WooCommerce模板,以纠正WooCommerce页面上出现的一系列小格式问题。我现在开始讨论购物车和结帐,是的,他们使用的是Php 如何修改购物车、结帐页面(主主题部分),php,wordpress,woocommerce,Php,Wordpress,Woocommerce,我一直在研究和调整我的自定义Wordpress主题,并用现在安装的WooCommerce覆盖WooCommerce模板,以纠正WooCommerce页面上出现的一系列小格式问题。我现在开始讨论购物车和结帐,是的,他们使用的是cart.php(以及任何结帐php),但也使用了Wordpress主题page.php。我已经能够在其他地方使用is\u woocommerce(),但我知道woocommerce文档说不能在结帐和购物车上使用 is_woocommerce()-如果在使用woocommer
cart.php
(以及任何结帐php),但也使用了Wordpress主题page.php
。我已经能够在其他地方使用is\u woocommerce()
,但我知道woocommerce文档说不能在结帐和购物车上使用
is_woocommerce()-如果在使用woocommerce模板的页面上(购物车和结帐是带有短代码的标准页面,因此不包括在内),则返回true。
那么我怎样才能改变这些页面的外观呢?我有一个“查看所有帖子”,顶部有一个日期/时间,还有page.php的categories侧边栏,我不想在收银台和购物车上显示它们,因为它们毫无意义。我有什么选择
我可以让它使用不同于page.php的模板吗
这是一种选择吗?这是坏习惯吗。。。使用此循环是否会导致每个页面上的负载增加?我应该把它放在哪里?
最好的办法是什么?谢谢你的帮助!
这个问题在某种程度上与-有关,我发现它在
page.php
中可以作为一个条件,包括WooCommerce购物车和结帐屏幕
!is_page(array('cart', 'checkout'))
您可以使用函数:获取页面的ID。此函数将页面设置用作“购物车”页面,而不是slug。这意味着,当您在设置页面上为“购物车”设置不同的url时,它也将继续工作。这适用于所有类型的Woocommerce特殊页面,如“结帐”、“购物”等
例如:
if (wc_get_page_id( 'cart' ) == get_the_ID()) {
// Do something.
}
完全覆盖cart.php的另一种方法是复制:
woocommerce/templates/cart/cart.php to
yourtheme/woocommerce/cart/cart.php
然后在yourtheme/woocommerce/cart/cart.php上执行任何需要的操作我使用page-checkout.php模板来更改我的购物车页面的标题。我在我的/wp content/themes/childtheme/woocommerce/中将其重命名为page-cart.php。这使您可以更好地控制包装html、页眉和页脚。您可以使用条件标记:
if (! is_cart() ) {
// Do something.
}
WooCommerce有许多修改购物车和结帐页面的选项。以下是我推荐的三种: 使用
is_cart()
和is_checkout()
函数在其页面上返回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,但忘记删除此文件,其中的代码(可能依赖于WooCommerce函数)不会中断,因为它从未被调用(除非您有一个带有slug{slug}
的页面)
例如:
wp content/themes/{current theme}/page cart.php
wp content/themes/{current theme}/page checkout.php