标签: woocommerce

woocommerce:通过 Ajax 显示最新产品

你们有人知道如何通过 ajax 显示 Woocommerce 最新产品的一些简单方法(使用一些回调或类似的东西)吗?现在我有这个短代码:

[recent_products per_page="12" columns="3"]
Run Code Online (Sandbox Code Playgroud)

我想创建一个按钮,允许在同一页面上显示接下来的 12 个产品。

wordpress woocommerce

0
推荐指数
1
解决办法
1040
查看次数

Woocommerce 在订阅续订时获取新订单 ID

我有 Woocommerce 订阅,并且 Stripe Gateway 设置并正常工作。每次我手动测试计划的续订时,它都会保存续订的新订单 ID,但我找不到访问它的方法。我设置了scheduled_subscription_payment()打印对象$order,但由于订阅引用了初始订单,order_id 始终相同。有没有办法在订阅续订触发后立即获取新订单 ID?

我引用的函数位于 Stripe WC Gateway 插件中:

public function scheduled_subscription_payment( $amount_to_charge, $order, $product_id )
Run Code Online (Sandbox Code Playgroud)

php wordpress subscription stripe-payments woocommerce

0
推荐指数
1
解决办法
5748
查看次数

如何更改 woocommerce 错误消息在结帐页面上的位置

我正在使用 Woocommerce,并且希望将用户未在表单下方输入必填字段时收到的错误消息放置在结账按钮之前。

我尝试将其添加到我的functions.php中

add_action( 'woocommerce_review_order_before_payment', 'wc_print_notices', 10  );
Run Code Online (Sandbox Code Playgroud)

但这并没有改变结账公式上方出现的错误消息。

我必须删除哪个操作?

php wordpress woocommerce

0
推荐指数
1
解决办法
1万
查看次数

Woocommerce - 禁用购物车页面中的“继续结帐”按钮

我目前正在尝试找出一种方法,在特定情况下禁用 \xc2\xab继续结帐\xc2\xbb 按钮:某些超大产品无法运送到某些国家/地区,除非客户首先要求报价。

\n\n

我添加了一个功能来functions.php检测这些超大产品。

\n\n

cart-shipping.php和中cart-totals.php,我找不到应该添加的点:

\n\n
remove_action(woocommerce_proceed_to_checkout','woocommerce_button_proceed_to_checkout', 20);\n
Run Code Online (Sandbox Code Playgroud)\n\n

可以帮忙吗?

\n\n

先感谢您

\n

php woocommerce

0
推荐指数
1
解决办法
1万
查看次数

如何从 WordPress 自定义网关中的 process_ payment 函数进行重定向?

我正在尝试开发一个自定义网关,我需要获取订单信息,例如价值、信用卡号、卡所有者姓名、地址等。获取这些信息后,我将使用 Centinel 3D Secure 提供的 API 发送请求。如果成功,他们将返回信用卡银行的网址以及我要发布到银行网址的一些其他信息。

然后,银行将使用表单将数据发布到我的回调 URL。然而我似乎无法让它工作。这是我的代码示例:

function process_payment( $order_id ) {
            global $woocommerce;
            //code to get data using API
            if( (strcasecmp('Y', $_SESSION['Centinel_Enrolled']) == 0){

                 echo '<form action="'.$_SESSION["ACSUrl"].'"" method="post">
                  <input type=hidden name="PaReq" value="'.$_SESSION["RandomValue"].'"/>
                  <input type=hidden name="TermUrl" value="'$myWPCallbackUrl.'?>"/>
                  <input type=hidden name="MD" value="Data"/>
                  <input type="submit" value="Submit" id="submit_centinel_payment_form"/> 
                  <script type="text/javascript">
                  jQuery(function(){ 
                     jQuery("#submit_centinel_payment_form").click();});
                  </script>                 
                  </form>     



            }
Run Code Online (Sandbox Code Playgroud)

这不会重定向到服务器。有谁知道为什么这不起作用?

php wordpress post payment-gateway woocommerce

0
推荐指数
1
解决办法
6110
查看次数

Woocommerce 类别 ACF 字段未显示

首先,我想说这不是一个重复的问题,我尝试了其他答案但没有成功。

我将 ACF 字段添加到 woocommerce 类别,我需要在 woocommerce 类别存档页面上显示该字段。

下面显示了我如何添加 ACF

http://www.awesomescreenshot.com/image/1859170/1fb3dc839dff36c92d4ee52f5167ca78

http://www.awesomescreenshot.com/image/1859175/1d1e43f70ae925ac5501f9e360f4a463

它显示在产品类别管理区域

http://www.awesomescreenshot.com/image/1859197/c5df7d20319c73d94896058daa6f3f2a

但是当我尝试在类别页面上显示时,它没有显示,

<?php
$queriedObject=get_queried_object();
echo get_field('categoryslider','product_cat_'.$queriedObject->term_id);
?>
Run Code Online (Sandbox Code Playgroud)

上面的代码是我从堆栈溢出中获得的,我还尝试了其他一些解决方案,但它不起作用,我正在使用所有插件的最新版本。

谁能帮助我吗?谢谢

php wordpress woocommerce advanced-custom-fields

0
推荐指数
1
解决办法
2070
查看次数

以编程方式隐藏 Woocommerce 产品

我想根据当前购物车内容有条件地在类别页面上隐藏一组 Woocommerce 产品。我有一个名为“盒子”的类别,其中包含四种产品。其中两个也属于纸板类别,两个属于塑料类别。

如果 ID 23 的产品已在购物车中,我想显示塑料盒。如果不是,我想隐藏它们。我知道如何检查购物车内容,但是一旦我得到答案,如何从该页面隐藏塑料类别的产品?

add_action( 'woocommerce_before_shop_loop', 'my_before_shop_loop' );

function my_before_shop_loop() {
    global $woocommerce;

    $flag = 0;

    foreach($woocommerce->cart->get_cart() as $key => $val ) {
        $_product = $val['data'];

        if ($_product->id == '23') {
            $flag = 1;
        }
    }

    if ($flag == 0) {

        // hide products that are in the plastic category
        // this is where I need help

    }
}
Run Code Online (Sandbox Code Playgroud)

wordpress hook woocommerce

0
推荐指数
1
解决办法
4789
查看次数

从 woocommerce 电子邮件中删除运费和账单

我想从 admin-new-order.php 中删除帐单地址和送货地址。我的主题中已经有它的副本。我可以删除电子邮件和电话号码,但无法删除账单和运费。

为了删除电子邮件和电话,我这样做了

    add_filter( 'woocommerce_email_customer_details_fields', 'custom_woocommerce_email_customer_details_fields' );    
function custom_woocommerce_email_customer_details_fields( $totals ) {
      unset( 
             $totals['billing_email'],
             $totals['billing_phone']
            );
           return $totals;   
         }
Run Code Online (Sandbox Code Playgroud)

我知道如果我完全删除:

 do_action( 'woocommerce_email_customer_details', $order, $sent_to_admin, $plain_text, $email );
Run Code Online (Sandbox Code Playgroud)

它会删除所有内容,但我不能这样做,因为我需要在那里显示的注释和交付时间(来自插件)。如果我删除整个内容,那么它就会删除所有内容。

我试过了

unset($totals['billing_first_name']);
Run Code Online (Sandbox Code Playgroud)

虽然有很多变体,但它不起作用。

在此输入图像描述

php wordpress email-templates woocommerce

0
推荐指数
1
解决办法
7934
查看次数

Woocommerce - 通过挂钩更改运费(functions.php)

我正在使用带有会员资格的 Woocommerce 订阅,并且我想根据我的用户的会员计划对运费应用一些折扣。例如,银卡会员所有运输方式均可享受-30% 的折扣。要检查我使用的当前会员计划:

$user_id = get_current_user_id();// Get current user ID

if ( wc_memberships_is_user_active_member( $user_id, 'silver' ) ) {
    //echo 'This is a special message only for Silver members!';
} else {
    //echo 'I\'m sorry, you are not a silver member. There\'s nothing here for you!';
}
Run Code Online (Sandbox Code Playgroud)

但我没有找到任何方法可以通过功能来改变运费。

是否可以 ?谢谢

wordpress hook woocommerce

0
推荐指数
1
解决办法
2万
查看次数

AJAX 刷新后按钮不起作用的 Woocommerce 数量增量,并且自动加载仅在点击 2 次后触发

我真的对这个话题感到疯狂。很多人提供了解决方案,但没有一个真正适合我。我的场景可能适合很多人:

我自定义了 WooCommerce 数量输入 (/global/quantity-input.php) 并添加<input>以增加或减少数量字段中的金额:

<div class="quantity">
    <input class="step-btn minus" type="button" value="-">
    <input type="number" step="<?php echo esc_attr( $step ); ?>" min="<?php echo esc_attr( $min_value ); ?>" max="<?php echo esc_attr( 0 < $max_value ? $max_value : '' ); ?>" name="<?php echo esc_attr( $input_name ); ?>" value="<?php echo esc_attr( $input_value ); ?>" title="<?php echo esc_attr_x( 'Qty', 'Product quantity input tooltip', 'woocommerce' ) ?>" class="input-text qty text" size="4" pattern="<?php echo esc_attr( $pattern ); ?>" inputmode="<?php echo esc_attr( $inputmode ); ?>" …
Run Code Online (Sandbox Code Playgroud)

javascript ajax wordpress jquery woocommerce

0
推荐指数
1
解决办法
9514
查看次数