繁体   English   中英

WordPress - 仅显示与登录用户相关的帖子

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM