Отображаем контент только зарегистрированным пользователям в WordPress

Следующий фрагмент кода позволит вам публиковать контент, который будет виден только авторизованным пользователям. А позже мы воспользуемся шорт-кодом, чтобы проследить разницу между нормальным контентом и премиум, доступным только зарегистрированным пользователям.

Следующий фрагмент кода сначала проверяет, авторизован ли пользователь, и эта проверка выполняется посредством WordPress-функции is_user_logged_in(). Затем нам нужно проверить контент на его наличии, а также проверить, не отображается ли контент в RSS-ленте.

Просто добавьте следующий фрагмент кода в ваши файлы plugin или functions.php, чтобы зарегистрировать новый шорт-код под названием members_only.

add_shortcode( 'members_only', 'members_only_shortcode' );
function members_only_shortcode( $atts, $content = null ) 
{
    if ( is_user_logged_in() && !empty( $content ) && !is_feed() )
    {
        return $content;
    }
    
    return 'To view this content please login.';
}

Теперь в вашем распоряжении есть новый шорт-код, который можно использовать в контенте.

[members_only]
Display this content only for users which are logged in.
[/members_only]

Пожалуйста учтите, что это решение будет применимо только в том случае, если администратор не удалит или не поменяет шаблон или плагин, где используется этот шорт-код. Если же шаблон или плагин будут сменены или удалены, то контент станет доступен всем посетителям.