标签: hook-woocommerce

在 PHP 中四舍五入到最接近的 5 或 9

我需要使用 PHP 函数将产品的定价四舍五入到最接近的 5 或 9

例如,它必须总是四舍五入:

$243 would round up to $245

$247 would round up to $249
Run Code Online (Sandbox Code Playgroud)

当前使用以下代码,但这只会四舍五入到最接近的 5:

function round_five($num) {
    return round($num*2,-1)/2;
}
Run Code Online (Sandbox Code Playgroud)

任何建议将不胜感激 <3

php rounding woocommerce hook-woocommerce

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

从 WooCommerce 中的添加到购物车按钮下的产品选项卡中移动其他信息

在单个产品页面中,我想更改选项卡中“附加信息”的位置,在使用 Woocommerce 挂钩(删除“附加信息”选项卡)添加到购物车按钮下。

我有:

add_action( 'woocommerce_product_additional_information', 'wc_display_product_attributes', 10 );
Run Code Online (Sandbox Code Playgroud)

和: woocommerce_after_add_to_cart_button

我想:

remove_action( 'woocommerce_product_additional_information', 'wc_display_product_attributes', 10 );

add_action( 'woocommerce_after_add_to_cart_button', 'woocommerce_product_additional_information' );
Run Code Online (Sandbox Code Playgroud)

remove_action( 'woocommerce_product_additional_information', 'wc_display_product_attributes', 10 );

add_action( 'woocommerce_single_product_summary', 'woocommerce_product_additional_information', 60 );
Run Code Online (Sandbox Code Playgroud)

但它不起作用。

如何在添加到购物车按钮下方正确移动“附加信息”?

php wordpress product woocommerce hook-woocommerce

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

删除 Woocommerce 中的剩余下载和过期列

我正在尝试缩小表格,使其只剩下下载产品标题和下载产品的按钮。以下是我想要从收到的订单和我的帐户\xe2\x80\xa6\n 中删除“剩余下载”和“过期”的列,这是一个屏幕截图

\n\n

只能看到产品名称和下载按钮

\n

php wordpress download woocommerce hook-woocommerce

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

如何在wordpress中动态制作具有产品类别的菜单

我有一个问题,我可以一键制作带有产品类别的菜单还是在 WordPress 中动态制作我有很多类别并且非常耗时
我找到了一个插件:

https://awesometogi.com/dynamic-menu-product-categories/

但我不知道这个工作

php wordpress hook woocommerce hook-woocommerce

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

woocommerce_add_to_cart_validation 挂钩适用于可变产品,但不适用于单个产品

我使用以下钩子

function dvpi_add_to_cart_validation( $passed, $product_id, $quantity, $variation_id, $variations ) {
    return $passed;
}
add_filter( 'woocommerce_add_to_cart_validation', 'dvpi_add_to_cart_validation', 10, 5 );
Run Code Online (Sandbox Code Playgroud)

对于“变量”类型的产品,这有效


问题是,如果产品的类型是“single”,这个钩子也会被执行,但需要 3 个参数,否则我会收到以下错误消息:

function dvpi_add_to_cart_validation( $passed, $product_id, $quantity ) {
    return $passed;
}
add_filter( 'woocommerce_add_to_cart_validation', 'dvpi_add_to_cart_validation', 10, 3 );
Run Code Online (Sandbox Code Playgroud)

致命错误:未捕获的 ArgumentCountError:函数 dvpi_add_to_cart_validation() 的参数太少,第 288 行在 /data/sites/web/.../wp-includes/class-wp-hook.php 中传递了 3 个参数,并且在 .. 。

如果我要检查产品类型的功能中的条件“来得太晚了”。

我该如何解决这个问题?

woocommerce hook-woocommerce

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

如何从 Woocommerce myaccount 页面中删除送货地址?

我为 Woocommerce 创建了自定义 myaccount 页面,您可以在下面的屏幕截图中看到。现在我想知道如何删除送货地址(荷兰语为 Verzendadres)部分。我试过覆盖服务器上的 myaccount.php 文件,但无法使其正常工作。我将它与 Wordpress 的 Astra 主题结合使用。

Woocommerce 我的帐户页面

提前致谢,

php account wordpress woocommerce hook-woocommerce

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

挂钩 woocommerce_checkout_order_processed 订单项目问题

我正在开发 WooCommerce 项目。我需要根据自定义表中的订购项目添加一些条目。如果用户订购了 3 个商品,那么这 3 个条目将与我的自定义表中的一些数据一起放置。

为此我使用了woocommerce_checkout_order_processed钩子。但我遇到了一些问题,如果用户在购物车和结账页面添加 4 件商品,如果用户删除了除一件商品之外的所有商品,最后只订购了 1 件商品,那么在这个钩子中我也得到了所有 4 件商品。我没有在这个钩子中得到最终订购的物品。

所以我把钩子改成了woocommerce_thankyou. 但在某些情况下,由于某种原因,用户没有进入感谢页面或某些信用卡付款,此挂钩不起作用

那么谁能告诉我最好的钩子,它可以在订单下达后运行,无论付款是否完成,而且我应该只得到订购的物品。我的 WooCommerce 版本是 3+

代码 :

function wc_function($order_id) {
    global $wpdb;
    $order = new WC_Order($order_id);
    $items = $order->get_items();
    foreach ($items as $item_line_id => $item) {
        // Insert data in my custom table
    }
}
//add_action('woocommerce_checkout_order_processed','wc_function', 10, 3);
//add_action('woocommerce_thankyou', 'wc_function', 10, 1);
Run Code Online (Sandbox Code Playgroud)

谢谢 !

php wordpress orders woocommerce hook-woocommerce

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

将带有按钮的订单项目部分添加到 WooCommerce 我的帐户单个订单页面

在 WooCommerce 中,当客户购买一种或多种产品时,他可以在单个订单页面上的“我的帐户”部分中看到:

在此输入图像描述

我希望在单个订单页面上的“我的帐户”部分中添加一个部分,列出当前订单的所有订单项目(已购买的产品),并为每个订单项目添加一个按钮,以便用户默认情况下将看到以下内容:

在此输入图像描述

我使用此代码来显示一个按钮,当他单击他购买的每个产品的按钮时,我希望检查以下条件:

  1. 首先,检查该产品是否是由点击(下载该产品发票)按钮的同一用户购买的?

  2. 如果购买了产品,则应生成一个文本文件,以及买家单击相应按钮(下载此产品发票)的同一产品的名称,并将买家的电子邮件地址放入该文件中,然后下载该文件(文本文件如下)

  3. 应在购买的每个产品前面或为每个产品创建一个按钮(下载此产品发票)

您好,尊敬的用户,感谢您购买(虚拟产品1)。您可以通过(买家的电子邮件)收到发票。

或者

您好,尊敬的用户,感谢您购买(虚拟产品2)。您可以通过(买家的电子邮件)收到发票。

和...

我自己使用了以下命令将按钮添加到 Function.php 文件中,但我想应用上述更改

add_action('woocommerce_order_details_after_order_table', 'add_button');

function add_button($order) {
    /* Your code */
   // echo "Your button html code";
    echo '<form method="post">';
    echo '<input type="submit" name="btn-added" id="btn-added" value="Download this product invoice" /><br/>';
    echo '</form>';
}


function sample_func() {
    // Get Current User Email Address
    $current_user = wp_get_current_user();
    $current_user_email = $current_user->user_email;
    echo $current_user_email;
    
    // Get Order Id
    $order_id_sample = wc_get_order( …
Run Code Online (Sandbox Code Playgroud)

php account wordpress woocommerce hook-woocommerce

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

更改添加到WooCommerce商店页面上的购物车按钮文字?

如何在商店页面的WooCommerce中将添加到购物车按钮的文本更改为"+"?
所以所有添加到购物车按钮都说"+"而不是"添加到购物车"!

php wordpress shop woocommerce hook-woocommerce

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

WooCommerce 存档页面在产品标题前添加类别

我应该需要在 Woocommerce 档案页面的标题之前显示产品的类别,如下图所示。我怎样才能做到这一点?

在此输入图像描述

php wordpress woocommerce hook-woocommerce

-1
推荐指数
1
解决办法
2641
查看次数

添加到购物车后添加一个按钮并将其重定向到 WooCommerce 中的某个自定义链接

我在使用这个钩子添加到购物车按钮后添加一个按钮:

add_action( 'woocommerce_after_add_to_cart_button', array($this, 'add_button'));
Run Code Online (Sandbox Code Playgroud)

但是当我点击那个按钮时,它正在执行添加到购物车按钮的功能。

如何自定义该按钮链接(到其他页面)

提前致谢。

php wordpress cart woocommerce hook-woocommerce

-3
推荐指数
1
解决办法
4356
查看次数

在任何地方为 Woocommerce 产品名称添加前缀/后缀,包括购物车和电子邮件

我正在使用 Woocommerce 并且我已经集成了一些自定义字段以允许用户指定我稍后将附加到产品标题的新值。

我正在使用update_post_meta/get_post_meta来保存信息。这部分工作正常。

然后我使用过滤器woocommerce_product_title来更新标题。这个过滤器在使用时工作正常,但在使用时$product->get_title()不会做任何事情,$product->get_name()这不是问题,因为在某些地方我不想附加新信息。

我还使用the_title了产品页面的过滤器。

基本上,我的代码如下所示,return_custom()函数将根据产品 ID 构建新信息。

function update_title($title, $id = null ) {

    $prod=get_post($id);

    if (empty($prod->ID) || strcmp($prod->post_type,'product')!=0 ) {
        return $title;
    }

    return $title.return_custom($id);
}

function update_product_title($title, $product) {

    $id = $product->get_id();

    return $title.return_custom($id);
}

add_filter( 'woocommerce_product_title', 'update_product_title', 9999, 2);

add_filter( 'the_title', 'update_title', 10, 2 );
Run Code Online (Sandbox Code Playgroud)

将产品添加到购物车时会出现问题。使用的名称是默认名称,因此我下面的代码不足以更新购物车中使用的产品名称。通知邮件也是一样。我认为这是合乎逻辑的,因为电子邮件将使用购物车的信息。

我很确定一切都在内部发生,add_to_cart()但我找不到与产品名称相关的任何过滤器/挂钩。

如何确保购物车中使用的名称是好的?除了我已经在使用的过滤器/挂钩之外,为了将我的新信息附加到购物车中的产品标题,我还应该考虑哪些过滤器/挂钩?

我想确保在所有购物过程中都能看到新标题。从产品页面直到通知邮件。

php wordpress cart woocommerce hook-woocommerce

-3
推荐指数
1
解决办法
1316
查看次数

标签 统计

hook-woocommerce ×12

woocommerce ×12

php ×11

wordpress ×10

account ×2

cart ×2

download ×1

hook ×1

orders ×1

product ×1

rounding ×1

shop ×1