如何解决根据他们购买的产品向商店经理隐藏一些用户和客户
这是我的问题。我希望你能帮忙,因为我有点卡(不擅长 PHP ......)。
我建立了一个体育学校网站,允许客户购买会员资格。为此,我使用了WooCommerce、会员和订阅。
开设课程的体育项目是柔道和足球,两位老师只是他们自己体育课程的店长。出于显而易见的原因,他们都不需要看到彼此的学生(作为客户和用户)、彼此学生的订单,甚至彼此的产品。
我已经处理过产品和订单。
每位经理都会看到他创建的产品。如果需要,管理员可以在创建产品后授予这种所有权。这是我从网上借来的代码。
/*Add authorship to products*/
add_action('init','function_to_add_author_woocommerce',999 );
function function_to_add_author_woocommerce() {
add_post_type_support( 'product','author' );
}
/*Keep only the current logged in user products,except for admins*/
add_action( 'pre_get_posts','admin_pre_get_posts_product_query' );
function admin_pre_get_posts_product_query( $query ) {
global $pageNow;
if( current_user_can( 'administrator' ) ) {
return;
} else if ( is_admin() && 'edit.PHP' == $pageNow && isset($_GET['post_type']) && 'product' === $_GET['post_type'] ) {
$query->set( 'author',get_current_user_id() );
}
}
至于订单,每位经理都会看到与归类为“柔道”或“足球”的产品相关联的订单。然后将这些类别中的每一个细分为子类别(与年龄相关),但这与排序问题无关。
我正在使用 Filter WooCommerce orders by shop manager based on assigned taxonomy terms 答案代码,这里是我自己的设置:
/*Set the parameters*/
function orders_by_shop_manager_settings(){
return array(
// Can be 'name','slug' or 'term_id'
'field' => 'slug',// Taxonomy we want to focus on
'taxonomy' => 'product_cat',// ID of the shop manager / category we want to show
'assignments' => array(
'2' => array('judo'),'3' => array('football'),)
);
}
以下是我的基本设置:每个用户/客户只能购买一种产品并且可以访问一个会员计划(每个产品/计划一个帐户)。因此,我不需要构建复杂的“每个客户的多个产品”或“每个客户的多个成员资格”规则。 我想要的是柔道店经理只看到拥有会员资格的客户和用户,他们通过柔道相关产品获得了访问权限,而足球店经理只看到拥有会员资格的客户和用户他们通过与足球相关的产品获得了访问权限。
我还希望每位经理不要列出其他经理(避免在某个经理帐户在某个时候遭到入侵时出现任何顶级安全问题)。
店长名单很短,应该不会有太大变化,所以我对上面的排序订单等解决方案感到满意。手动添加每个经理的 ID 和他们自己的设置对我来说很好。
有什么想法吗?会有很大的帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。