Как скрыть часть записи от незарегистрированных пользователей?
Часто у вебмастеров возникает необходимость спрятать какую-то часть текста записи или страницы от незарегистрированных пользователей. Как правило, для решения этой задачи устанавливается какой-нибудь специальный плагин. Однако, можно обойтись совсем без плагинов, так как реализация шорткода [hide][/hide], скрывающего текст от незарегистрированных пользователей, довольно таки простая. Вам необходимо добавить в файл functions.php вашей темы следующий код:
//шорткод скрытия части текста записи start function wph_hide_text($atts, $content = null) { if (is_user_logged_in() && !is_null($content) && !is_feed()) {return wpautop($content);} else { $loginlink = wp_login_url(); $reglink = wp_registration_url(); $msg = '<p style="background:#fcf8e3;padding:5px;"> Для просмотра скрытого содержимого вы должны <a href="'.$loginlink.'">войти</a> или <a href="'.$reglink.'">зарегистрироваться</a> на сайте.</p>'; return $msg; } } add_shortcode('hide', 'wph_hide_text'); //шорткод скрытия части текста записи end |
Использовать шорткод необходимо так:
[hide]Этот текст будет скрыт.[/hide] |
Все совсем просто и не требует установки дополнительных плагинов. Единственное неудобство этого шорткода заключается в том, что в визуальном редакторе не будет соответствующей кнопки для вставки тегов шорткода.
Спасибо большое! Мне очень помогли, все работает!