WordPress - отображать только сообщения, связанные с зарегистрированным пользователем - PullRequest
1 голос
/ 08 января 2020

На моем сайте WordPress у меня есть настраиваемые типы постов для танков, локаций и пользователей с помощью плагина PODS. В настоящее время у меня есть PHP, который позволяет мне показывать только зарегистрированному пользователю сообщение, если оно указано как его автор. Что является хорошим началом, но не совсем так, как мне нужно, чтобы оно работало. Из-за того, как WordPress хранит свое поле «Автор», я могу назначить только одного пользователя для каждого танка / местоположения вместо многих. У меня вопрос, как бы я go сделал так, чтобы WordPress проверил, какие танки / локации связаны с ними у текущего вошедшего в систему пользователя, и отображал только те? И в PODS Tanks, и в Locations я уже настроил поле отношения для моего POD Users, которое позволяет мне назначать каждому Tank / Location столько пользователей, сколько необходимо. Все, что мне сейчас нужно, это выяснить, как отображать эту информацию. Если это имеет какое-либо значение, тип хранения для всех моих PODS - на основе таблицы.

1 Ответ

0 голосов
/ 09 января 2020

Итак, если у кого-то возникнет тот же вопрос, что и у меня, вот как я решил свою проблему. Переменная 'users.ID' относится к полю отношений, которое у меня было в каждом из моих Locations / Tanks.

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 );
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...