对于 WooCommerce 订单上具有完成状态的特定产品,从特定自定义页面更改信息
For specific products on WooCommerce orders with completed status, change information from a specific custom page
我正在使用 "" 回答我之前的一个问题。
现在我想显示一些特定的内容,如果用户从列表中购买了产品,并且该产品的订单已完成。如果他没有,用户将在该页面上看到另一个内容。
内容将位于该自定义页面的一个部分中。
感谢任何帮助。
因此,您需要执行的操作是在满足条件时添加一些自定义用户元数据,例如:
add_action('woocommerce_order_status_completed', 'action_on_order_status_completed', 10, 2 );
function action_on_order_status_completed( $order_id, $order ){
// Here below your product list
$products_ids = array('11', '12', '13', '14', '15', '16');
$found = false;
// Loop through order items
foreach ( $order->get_items() as $item ) {
if ( in_array($item->product_id(), $products_ids) ) {
$found = true;
break;
}
}
if ( $found ) {
$user_id = $order->get_customer_id(); // Get the user ID
// Add custom user meta data
update_user_meta( $user_id, 'show_specific_content', '1' );
}
}
现在您可以使用以下内容来显示一些特定的内容:
if( get_user_meta( get_current_user_id(), 'show_specific_content', true ) ) {
// Display your custom content here
} else {
// Display something else here
}
我正在使用 "
现在我想显示一些特定的内容,如果用户从列表中购买了产品,并且该产品的订单已完成。如果他没有,用户将在该页面上看到另一个内容。 内容将位于该自定义页面的一个部分中。
感谢任何帮助。
因此,您需要执行的操作是在满足条件时添加一些自定义用户元数据,例如:
add_action('woocommerce_order_status_completed', 'action_on_order_status_completed', 10, 2 );
function action_on_order_status_completed( $order_id, $order ){
// Here below your product list
$products_ids = array('11', '12', '13', '14', '15', '16');
$found = false;
// Loop through order items
foreach ( $order->get_items() as $item ) {
if ( in_array($item->product_id(), $products_ids) ) {
$found = true;
break;
}
}
if ( $found ) {
$user_id = $order->get_customer_id(); // Get the user ID
// Add custom user meta data
update_user_meta( $user_id, 'show_specific_content', '1' );
}
}
现在您可以使用以下内容来显示一些特定的内容:
if( get_user_meta( get_current_user_id(), 'show_specific_content', true ) ) {
// Display your custom content here
} else {
// Display something else here
}