Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 是否根据产品或类别选择商业确认/订单接收页面?_Php_Wordpress_Woocommerce - Fatal编程技术网

Php 是否根据产品或类别选择商业确认/订单接收页面?

Php 是否根据产品或类别选择商业确认/订单接收页面?,php,wordpress,woocommerce,Php,Wordpress,Woocommerce,我的购物车里有两种不同的产品。一个是票证,另一个是在用户上传文件(由我创建的重力表单处理)之前必须支付的费用 目前,如果我在Order Received页面上放置重力表单页面的链接,如果有人只购买了一张票,他们会看到这个链接,这会让人困惑 是否有一种方法可以在根据所购买的产品完成购买后拥有唯一的确认页面 如果没有,是否有条件标签或某种挂钩或过滤器,仅在购买“付费产品”时(可能基于产品ID或类别ID)在订单接收页面上显示重力表单的链接 我确实找到了以下代码片段: 但当我尝试这个: add_act

我的购物车里有两种不同的产品。一个是票证,另一个是在用户上传文件(由我创建的重力表单处理)之前必须支付的费用

目前,如果我在Order Received页面上放置重力表单页面的链接,如果有人只购买了一张票,他们会看到这个链接,这会让人困惑

是否有一种方法可以在根据所购买的产品完成购买后拥有唯一的确认页面

如果没有,是否有条件标签或某种挂钩或过滤器,仅在购买“付费产品”时(可能基于产品ID或类别ID)在订单接收页面上显示重力表单的链接

我确实找到了以下代码片段:

但当我尝试这个:

add_action('woocommerce_payment_complete', 'custom_process_order', 10, 1);
function custom_process_order($order_id) {
    $order = new WC_Order( $order_id );
    $myuser_id = (int)$order->user_id;
    $user_info = get_userdata($myuser_id);
    $items = $order->get_items();
    foreach ($items as $item) {
    if ($item['product_id']==154) {
echo '<h3>If you are submitting a script, please <a href="http://www.ashlandnewplays.org/wp/submit-a-script/step-2/">click here to submit your script</a>.</h3>';
        }
    }
    return $order_id;
}
add_action('woocmerce_payment_complete','custom_process_order',10,1);
函数自定义处理订单($order\U id){
$order=新WC\U订单($order\U id);
$myuser\u id=(int)$order->user\u id;
$user\u info=get\u userdata($myuser\u id);
$items=$order->get_items();
foreach($items作为$item){
如果($item['product_id']==154){
echo“如果您正在提交脚本,请”;
}
}
返回$order\u id;
}

订单详细信息屏幕上不显示任何内容。奇怪的是,如果我尝试使用wp_redirect并强制重定向页面,它会“起作用”,但它会破坏页面,并导致站点在签出页面中出现奇怪的嵌入。

在不断尝试之后,我终于找到了我要找的内容,所以我想我会发布它。在我的例子中,我想定制带有表单链接的订单详细信息/确认页面,但仅当购买了某个产品时

如果您想要类似的内容,请将其放入order_details.php模板中:

global $woocommerce;

$order = new WC_Order( $order_id );

/* This two lines above should already exist, but I have them here so you can 
see where to put the code */

foreach($order->get_items() as $item) {
    $_product = get_product($item['product_id']);
    if ($item['product_id']==154) {
        // Do what you want here..replace the product ID with your product ID
        }
    }

我还通过在if语句中插入一个wp_重定向来测试这一点,它似乎工作得很好,所以我想您可以使用一堆if/elseif语句来定制这段代码,这些语句根据购买的产品重定向到不同的登录页!希望这对某人有帮助

在更新woocommerce时,这不会被覆盖吗?如果你在你的主题上覆盖这些,也许会更好,正如这里所解释的:这对我有用,谢谢!