首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将自定义post类型链接到用户成员资格

将自定义post类型链接到用户成员资格
EN

WordPress Development用户
提问于 2021-07-29 12:35:47
回答 1查看 302关注 0票数 0

我正在建立一个医学实验室网站,我想链接一个定制的post类型-结果到用户。如何将结果CPT链接到用户?

其思想是能够将多个测试结果关联到单个用户/成员。目前使用woocommerce会员为会员提供动力。

拜托,任何想法(S)或只是指出我的正确方向是有帮助的。提前谢谢你!

EN

回答 1

WordPress Development用户

发布于 2021-07-30 06:59:43

如果我能理解你在寻找什么,你可以创建一个简单的函数,当一个新的CPT被创建并更新一个post_meta例如:"user_controler“。

稍后,您需要过滤post.php上的帖子,以显示仅与当前用户相关的帖子。

代码语言:javascript
复制
add_action("save_post", function ($post_ID, $post){
    $post = get_post($post_ID);
    $user = get_curent_user();

    if($post->post_type === "my_cpt" && !get_post_meta($post_ID, "my_meta_key")){
        update_post_meta($post_ID, "my_meta_key", $user->key);
    }
    //$user->key matches what you want to kip as link.
});

要筛选post.php页面上的帖子,您可以:

代码语言:javascript
复制
add_filter( 'posts_results', 'my_posts_results_filter' );
    
function my_posts_results_filter( $posts ) {
    global $my_global_condition;
    $user = get_curent_user();
    $screen = get_current_sreen();

    $filtered_posts = array();
        
    foreach ( $posts as $post ) {
        if (
        $post->post_type === "my_cpt" && 
        $screen->ID === $my_cpt && 
        get_post_meta($post_ID, "my_meta_key")=== $user->key
        ) {
                // It's allow :).
                $filtered_posts[] = $post;
        }
    }
    return $filtered_posts;
}

您也可以使用帖子_哪里过滤器。

还可以根据author属性筛选post简单基础。

在一起。

票数 0
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/392629

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档