我想生成一个链接,或者可能是一个带有某些arg的简单产品链接,以更改产品的状态。因此,当我将该链接提供给任何人时,他都会打开该链接,然后产品的状态将从私有更改为发布,并一直保持发布状态,直到我从管理员那边回来为止。
我尝试使用此代码。
add_action( 'woocommerce_before_single_product', 'cs_change_product_status', 10 );
function cs_change_product_status(){
global $product;
$status = $product->get_status();
if($status == 'private'){
$terms = get_the_terms ( $product->get_id(), 'product_cat' );
$cat_id = 0;
foreach ( $terms as $term ) {
$cat_id = $term->id;
break;
}
if($cat_id === 75){
wp_update_post( array( 'ID' => $product->get_id(), 'post_status' => 'publish' ) );
}
}
}
这不适用于私有产品。我认为当产品为私有产品并显示404错误页面时,wordpress不会加载任何woocommerce钩子。