gpt4 book ai didi

php - 将缺货产品重定向到自定义页面

转载 作者:行者123 更新时间:2023-12-02 20:50:10 26 4
gpt4 key购买 nike

我有一家 WooCommerce 商店,并且销售许多产品每种产品仅 1 件

售出唯一数量的产品后,我自动显示“缺货”,但我想将此产品页面重定向到自定义页面。

我花了很多时间寻找插件=>什么也没找到。

你有解决办法吗?

谢谢。

最佳答案

使用woocommerce_before_single_product操作 Hook 中 Hook 的自定义函数,将允许您在产品超出时重定向到您的自定义页面、所有产品(页面)使用简单的条件 WC_product 方法库存 is_in_stock() ,使用这个非常紧凑且有效的代码:

add_action('woocommerce_before_single_product', 'product_out_of_stock_redirect');
function product_out_of_stock_redirect(){
global $product;

// Set HERE the ID of your custom page <== <== <== <== <== <== <== <== <==
$custom_page_id = 8; // But not a product page (see below)

if (!$product->is_in_stock()){
wp_redirect(get_permalink($custom_page_id));
exit(); // Always after wp_redirect() to avoid an error
}
}

代码位于事件子主题(或主题)的 function.php 文件中或任何插件文件中。

You will have just to set the correct page ID for the redirection (not a product page).


更新:您可以使用经典的 WordPress wp 操作 Hook (如果出现错误或白页).

这里我们还需要定位单个产品页面,并获取 $product 对象的实例(带有帖子 ID).

所以代码将是:

add_action('wp', 'product_out_of_stock_redirect');
function product_out_of_stock_redirect(){
global $post;

// Set HERE the ID of your custom page <== <== <== <== <== <== <== <== <==
$custom_page_id = 8;

if(is_product()){ // Targeting single product pages only
$product = wc_get_product($post->ID);// Getting an instance of product object
if (!$product->is_in_stock()){
wp_redirect(get_permalink($custom_page_id));
exit(); // Always after wp_redirect() to avoid an error
}
}
}

代码位于事件子主题(或主题)的 function.php 文件中或任何插件文件中。

代码已经过测试并且可以工作。

关于php - 将缺货产品重定向到自定义页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42488432/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com