我正在建立一个医学实验室网站,我想链接一个定制的post类型-结果到用户。如何将结果CPT链接到用户?
其思想是能够将多个测试结果关联到单个用户/成员。目前使用woocommerce会员为会员提供动力。
拜托,任何想法(S)或只是指出我的正确方向是有帮助的。提前谢谢你!
发布于 2021-07-30 06:59:43
如果我能理解你在寻找什么,你可以创建一个简单的函数,当一个新的CPT被创建并更新一个post_meta例如:"user_controler“。
稍后,您需要过滤post.php上的帖子,以显示仅与当前用户相关的帖子。
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页面上的帖子,您可以:
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简单基础。
在一起。
https://wordpress.stackexchange.com/questions/392629
复制相似问题