我不想限制已注销用户或具有特定角色的用户的某些产品页面。最简单的方法可能是检查产品页面的类别ID,如果current_user_can('')
,则重定向到主商店页面。
但我真的不知道从哪里开始..我应该在init
上添加一个动作吗?如何检查当前页面产品ID?
我以为我可以用var_dump()
得到一些数据但是没有结果。
我这样做了:
add_action('init', 'get_all_post_meta');
function get_all_post_meta() {
//$meta = get_post_meta( get_the_ID() );
global $post;
var_dump('$post');
$metavar = get_the_terms($post->ID);
var_dump('$metavar');
}
但我的控制台没有结果。
修改:我发现我的var_dump()
不正确,因为它应该像var_dump($post);
现在继续我的任务。
答案 0 :(得分:0)
到目前为止,这是我的解决方案,现在我需要弄清楚如何删除单个产品而不是全部。
add_action('wp_head', 'get_all_post_meta', 1 );
function get_all_post_meta() {
global $post;
$banned_cid = array(8);
$current_cid = array();
$metavar = get_the_terms($post->ID, 'product_cat');
global $woocommerce;
$redirect_url = 'http://www.example.nl/';
if(current_user_can('subscriber') || current_user_can('manage_options')){}else if( is_product()){
foreach ( $metavar as $term ) {
$cat_id .= $term->term_id.',';
array_push($current_cid, $term->term_id);
}
var_dump($current_cid);
$c = array_intersect($banned_cid, $current_cid);
if (count($c) > 0) {
$woocommerce->cart->empty_cart();
wp_redirect( $redirect_url, 302 );
exit;
}
}
}