[英]WordPress - Only Display Posts That Are Associated To Logged In User
在我的 WordPress 站点中,我使用 PODS 插件为坦克、位置和用户设置了自定义帖子类型。 目前我有一些 PHP 允许我只向登录用户显示一个帖子,如果他们被列为它的作者。 这是一个好的开始,但不完全是我需要它工作的方式。 由于 WordPress 存储其 Author 字段的方式,我只能为每个储罐/位置关联一个用户而不是多个用户。 我的问题是,我将如何制作它,以便 WordPress 将检查当前登录用户与它们相关联的坦克/位置,并仅显示这些? 在 Tanks 和 Locations PODS 中,我已经为我的 Users POD 设置了一个关系字段,这允许我根据需要为每个 Tank/Location 分配尽可能多的用户。 我现在需要的只是弄清楚如何显示这些信息。 如果有任何区别,我所有 PODS 的存储类型都是基于表的。
因此,如果有人和我有同样的问题,以下是我最终解决问题的方法。 变量“users.ID”指的是我在每个位置/坦克中的关系字段。
if(!current_user_can('administrator')){
add_shortcode( 'pods_by_current_user_cpt', 'pods_by_current_user_cpt' );
function pods_by_current_user_cpt( $atts, $content = null ) {
$current_user = wp_get_current_user();
$user_id = $current_user->ID;
$atts['where'] = 'users.ID = ' . (int) $user_id;
return pods_shortcode( $atts, $content );
}
}
else{
add_shortcode( 'pods_by_current_user_cpt', 'pods_by_current_user_cpt' );
function pods_by_current_user_cpt( $atts, $content = null ) {
$current_user = wp_get_current_user();
$user_id = $current_user->ID;
return pods_shortcode( $atts, $content );
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.