Этой записью я открываю цикл небольших статей в которых буду делиться полезным функционалом для сайтов работающих на WordPress. Скажу сразу, это будет уникальный контент, рожденный усилиями моего мозга и проверенный в деле. Поэтому можете смело подписываться на рубрику "Полезное" в своем личном кабинете, чтобы быть в курсе новостей)
Первую статью я решил посвятить решению вопроса, который, как я понял волнует многих и его мне задавали чаще всего, а именно организация скрытого для гостей сайта контента и открытого для зарегистрированных пользователей. Опишу сам код с небольшими комментариями.
Я сам не люблю пользоваться плагинами, тк не всегда они работают действительно так как мне надо, гораздо лучше добавить несколько строк своего кода и знать, что ничего лишнего там точно не будет.
Сам код нужного нам функционала довольно небольшой:
add_shortcode('hidden', 'hidden_guest_content'); function hidden_guest_content( $atts, $content = null ) { if ( !is_user_logged_in() && !is_null( $content ) && !is_feed() ){ return '<p style="font-weight: bold; padding: 10px; border: 1px solid #ccc;" align="center">Ссылка на скачивание доступна зарегистрированным пользователям</p>'; } return $content; }
Код распологаем внутри файла functions.php используемого шаблона.
теперь достаточно выделить нужный нам текст открывающим и закрывающим тегами этого шорткода, вот так
Ссылка на скачивание доступна зарегистрированным пользователям
Что мы делаем в этом коде?
Во-первых, регистрируем новый шорткод
Ссылка на скачивание доступна зарегистрированным пользователям
Во-вторых, проверяем пользователя, загрузившего страницу на авторизацию. Если пользователь авторизован, то мы ему показываем скрытое содержимое, если нет, то скрываем и выводим соответствующий текст.
Вот и все)
add_shortcode('member', 'member_check_shortcode');
function member_check_shortcode( $atts, $content = null ) {
if ( is_user_logged_in() && !is_null( $content ) && !is_feed() )
return $content;
return '';
}
[member]МЕНЯ ВИДНО ТОЛЬКО ЗАРЕГАНЫМ ЮЗЕРАМ[/member]
Да кстати, если нужно выводить только гостям (незарегистрированным) то добавляем в functions.php :
add_shortcode('guest', 'guest_check_shortcode');
function guest_check_shortcode( $atts, $content = null ) {
if ( !is_user_logged_in() && !is_null( $content ) && !is_feed() )
return $content;
return '';
}
А в посте шорткод [guest]
[guest]Привет, гость![/guest]
Спасибо, пригодилась!!
А поделитесь еще как сделать "Загрузить (2 675kb) Загружено: ** раз"
Что бы отображало размер файла и количество загр. раз...
Спасибо!
Количество загрузок вывожу с помощью плагина Easy Download Media Counter. Я вам об этом в личку уже писал) А размер файла вписываю руками. Никакой особой магии совсем нет.