大家好,我对woocommerce遇到了问题,我试图修复几天。
即时通讯为一个人创建了一个网站,他希望我在产品页面上添加自定义输入,我自己无法做到这一点,所以我在网上使用了自由职业者。
在我的产品页面上
加入购物车按钮,数量输入和日期输入。
“日期输入”是自由职业者所做的。
问题是,当$ _REQUEST ['thedate']为空时,将弹出自定义错误,但产品仍添加到购物车中。
代码:(functions.php)
function add_the_date_validation() {
if ( empty( $_REQUEST['thedate'] )) {
wc_add_notice( __( 'Please enter a date.', 'woocommerce' ), 'error' );
return false;
}
return true;
}
add_action( 'woocommerce_add_to_cart_validation', 'add_the_date_validation', 10, 5 );
Run Code Online (Sandbox Code Playgroud)
视图:http : //i.stack.imgur.com/a75P6.png
自由职业者执行的其他代码:
function save_add_the_date_field( $cart_item_key, $product_id = null, $quantity= null, $variation_id= null, $variation= null ) {
if( isset( $_REQUEST['thedate'] ) ) {
WC()->session->set( $cart_item_key.'_the_date', $_REQUEST['thedate'] );
}
}
add_action( 'woocommerce_add_to_cart', 'save_add_the_date_field', 1, 5 );
function render_meta_on_checkout_order_review_item( …Run Code Online (Sandbox Code Playgroud) 覆盖某个类的woocomerce plugins目录中定义的woocomerce函数的最佳方法是什么。例如,我想更改类中声明的函数。我可以通过更改保留更改插件目录中的功能代码,直到升级woocomerce插件为止。如何在主题文件中覆盖它?start_elWC_Product_Cat_List_Walkerfunctions.php
php wordpress wordpress-theming wordpress-plugin woocommerce
这可能会为我打开一扇门,因为有一些我不知道的东西,所以请WooCommerce 101;
WooCommerce模板archive-product.php的一部分包含代码;
<?php
/**
* woocommerce_before_shop_loop hook.
*
* @hooked woocommerce_result_count - 20
* @hooked woocommerce_catalog_ordering - 30
*/
do_action( 'woocommerce_before_shop_loop' );
?>
Run Code Online (Sandbox Code Playgroud)
从这一点,并阅读文档,它意味着这;
remove_action( 'woocommerce_before_shop_loop', 'woocommerce_result_count', 20 );
Run Code Online (Sandbox Code Playgroud)
应从返回的产品类别中删除结果计数.只有它没有.
怎么了?
我正在尝试根据客户的送货地址动态地将某些电子邮件添加到新订单收件人列表中.
我们正在使用PayPal advanced来通过n iframe处理我们网站内的付款.
问题是切换电子邮件的过滤器使用客户的送货地址,我从两个地方之一获得:
$woocommerce->customer->shipping_country
$woocommerce->session->customer['shipping_country'];
本地我没有paypal高级激活,所以在那里测试它会工作.但是在生产服务器上我们正在使用它,而这就是问题发生的地方.当过滤器尝试获取客户的装运订单时,这些全局对象为空.这让我相信,一旦完成PayPal订单,当前页面将被重定向到感谢页面,其中包含适当的信息,但是当运行过滤器时全局变量为空.
话虽如此,如何在woocommerce_email_recipient_new_order运行时获取客户的送货地址信息?
可能的重复:
自动从网络服务器删除文件
我正在将一些 XML 内容记录到文本文件中,file_put_contents()以防我需要它进行调试。
如何在一段时间后删除该文件?
我在日志文件夹中有限制.htaccess,但我不想将信息(将包含客户的地址等)长时间保留在网络上。
所以这里...我有一个wordpress网站,并使用woocommerce等等.我想将产品页面上的延期交货信息更改为"请允许2至4周交付此项目",我有问题用.
我还希望在购物车页面中显示相同或类似的消息,其中延期消息通常显示在项目名称下.
或者,但不是我的偏好,只需完全隐藏购物车页面中的延期交货消息,但仍然在产品页面上显示.
我通过插件输入php代码,而不是使用子主题或与其他东西混在一起.我通常管理好,但完全被这个难倒.我昨天在这上面花了几个小时,设法让我的网站崩溃了!大声笑…
我认为它会给我的网站带来更专业的外观.
我的网站上延期交货的产品之一的链接如下,这样您就可以看到我正在寻找的确切内容.
https://ascentsofscotland.co.uk/product/cormag-celtic-bangle/
任何帮助都非常感激,因为我开始对理论上应该简单的东西感到沮丧...(我认为它实际上应该是woocommerce中的一个可定制的部分!)
在此感谢所有天才人士!
斯图
根据WordPress Codex,该get_post_types()函数具有"分类法"参数,但没有解释它究竟是如何工作的.
$post_args = array(
'public' => true,
'taxonomies' => 'genre',
'show_ui' => true
);
$post_types = get_post_types($post_args);
Run Code Online (Sandbox Code Playgroud)
即使类型是注册到"书籍"帖子类型的分类,上面的代码也不会返回任何内容.
如果我有自定义帖子类型的"书籍",其中包含一些自定义分类,例如"作者"和"流派"......我想用它get_post_type()来返回与"流派"相关的帖子类型......显然是'书籍".我正在尝试制作一些有助于设置post_type参数的东西get_posts()..因为它只会默认搜索帖子而不是自定义帖子类型.显然我可以设置post_type参数,但是我想让它向前兼容我可能在不同主题中使用的任何未来的帖子类型.
在woocommece安装,我想对于产品被称为"旅游"(在后端/管理区),所以我的客户可以登录编辑这些,而不是把他们看成"产品"
如果可能的话,你能否告诉我,以及woocommerce上的所有管理区域都将这些描述为"游览"
如何改变,在最新版Woocommerce中,这篇文章 - 
如何禁用购物车页面上产品图像的超链接.
见下面的截图,以红色突出显示.

请协助.谢谢.