我需要以编程方式创建一个Woocommerce订单,但是使用'旧'Woocommerce使这个程序非常脏.
我必须使用许多update_post_meta调用手动插入所有类型的数据库记录.
寻找更好的解决方案.
我想在Woocommerce的产品单页中获取SKU.我试过<?php get_sku(); ?>
根据Woocommerce文档(http://docs.woothemes.com/wc-apidocs/class-WC_Product.html)这是一个特色功能,但它只会打破循环.该怎么办?
我试图对购物车的总价格应用折扣,但我只能按商品基价而不是全价购买.我用Google搜索并在wordpress stackoverflow中遇到了这篇文章:
$ amount = floatval(preg_replace('#[^\d.]#','',$ woocommerce-> cart-> get_cart_total())); preg_replace消除除十进制字符和冒号之外的所有内容.
如果你想用它做数学,floatval会将字符串中的值转换为数字值.
我尝试添加:
$amount2 = floatval( preg_replace( '#[^\d.]#', '', $woocommerce->cart->get_cart_total() ) );
Run Code Online (Sandbox Code Playgroud)
和改变
$discount = round( (($discounting_amount / 100 ) * $this->amount)*-1, WC()->cart->dp);
Run Code Online (Sandbox Code Playgroud)
至
$discount = round( (($discounting_amount / 100 ) * $amount2)*-1, WC()->cart->dp);
Run Code Online (Sandbox Code Playgroud)
但是我收到以下错误:
Fatal error: Call to a member function get_cart_total() on a non-object in...
Run Code Online (Sandbox Code Playgroud) 经过长时间的搜索,我找到了这篇文章:
谈论在woocommerce中创建webhooks以通知脚本做...某事......并不重要.
我还阅读了我在woocommerce docs中可以找到的所有内容.
但是我需要一些关于在另一端实际编写处理程序的文档或指导.
我的目标是收到付款完成通知,然后在购买后将用户移动到不同的列表(客户列表而不是潜在客户列表) - 我在内部使用PHPlist作为我的列表管理器.我很确定我可以处理那部分,如果我能让听众继续...
但是..我不知道Web钩子发送了什么,如何让它发送我想要的数据,以及如何处理监听器.
我也发现了这个:
哪 - 可能有用吗?我仍然不确定从哪里开始听,或者如果这篇文章仍有效,鉴于它已经有几年了......
谢谢!
- 亚伦
我在PHP中使用此代码:
$idcat = 147;
$thumbnail_id = get_woocommerce_term_meta( $idcat, 'thumbnail_id', true );
$image = wp_get_attachment_url( $thumbnail_id );
echo '<img src="'.$image.'" alt="" width="762" height="365" />';
Run Code Online (Sandbox Code Playgroud)
其中147
是当前的ID手动设置,但我需要在其他类别电流id
有什么建议?
我有一个非常简单的问题.但它困扰了我很多.
任何人都可以告诉我,从WordPress woo-commerce网站下载订单后,订单及其中的所有内容都存储在数据库中.更准确的是,任何人都可以告诉我如何在不使用WC_Order类等woocommerce类的情况下获取我的送货地址?我的意思是我需要通过自定义数据库查询手动获取数据,但我无法在数据库中找到订单及其相关的所有内容?我知道订单存储在数据库中作为wp-posts表中的帖子,但其余部分是哪里,即送货地址账单地址等等?我希望我不要混淆任何人.
最好的祝福,
MAK
我需要做什么: 我想在添加到购物车之前对产品进行一些检查. 更确切地说: 我想比较我即将添加到购物车的产品,以及已添加的产品,以查看是否存在一些冲突. 一个例子: 假设我们有一款名为"Both shoes"的产品和一款名为"左鞋"的产品.用户将"左鞋"添加到购物车.然后他加上"两双鞋".我想打印一个错误,而不是添加"两双鞋":对不起,但是如果你已经将左鞋添加到购物车中,则无法添加两双鞋.如果你想买"两双鞋",请先删除"左鞋".
我看过class-wc-cart.php,我在第811行发现了一个动作挂钩,但为时已晚!这是在产品添加之后
"do_action('woocommerce_add_to_cart',$ cart_item_key,$ product_id,$ quantity,$ variation_id,$ variation,$ cart_item_data);"
add_to_cart方法从第705行开始. http://wcdocs.woothemes.com/apidocs/source-class-WC_Cart.html#705
我的"产品冲突管理器"功能怎么能在第801行之前被吸引,而不会破坏woocommerce?
谢谢!
我正在尝试编辑简短描述模板,使其在变量(单个)产品页面上与在简单产品上不同.该页面中的代码如下:
global $post;
if ( ! $post->post_excerpt )
return;
?>
<div itemprop="description">
<?php echo apply_filters( 'woocommerce_short_description', $post->post_excerpt ) ?>
</div>
Run Code Online (Sandbox Code Playgroud)
我想在if语句中添加一些类似的代码
如果帖子有变化,请不要显示简短描述,如果简单产品DO显示
但我在代码中找不到任何方法来区分常规的简单产品帖子和可变的产品帖子(有变化).通过Woo网站(http://docs.woothemes.com/wc-apidocs/)查看API文档,我发现没有那种.
如何将自定义字段添加到产品类别?我已经为产品添加了自定义字段,但我找不到任何扩展,它提供了向产品类别添加自定义字段的功能.
请帮忙
我想在查看产品列表时在管理员中自定义Woocommerce中的列.
具体来说,我想删除一些列,并添加几个自定义字段列.
我尝试了在线列出的许多解决方案,我可以删除列并添加新的列,如下所示:
add_filter( 'manage_edit-product_columns', 'show_product_order',15 );
function show_product_order($columns){
//remove column
unset( $columns['tags'] );
//add column
$columns['offercode'] = __( 'Offer Code');
return $columns;
}
Run Code Online (Sandbox Code Playgroud)
但是,如何使用实际产品数据填充新列(在本例中,称为"offercode"的自定义字段)?
woocommerce ×10
wordpress ×8
php ×5
backend ×1
coupon ×1
discount ×1
get ×1
hook ×1
orders ×1
product ×1
singlepage ×1
thumbnails ×1
webhooks ×1