Вот простое требование. Заходишь на сайт как гость и видишь сообщение типа "авторизуйтесь для просмотра записей", войдя на сайта видны все существующие записи в блога. У знакомого другая cms и там такое требование выполняется легко. А вот на wordpress найти не могу. Только закрытие на пароль, где заголовок записей виден. Или же полностью закрытый сайт что видна страница входа только. Такие варианты не подходят. Да и зачем так недоскрывать запись, чтобы был виден ее заголовок а дальше уведомление, что запись на пароле?
Потому вопрос, как можно реализовать скрытие записей от неавторизованных юзеров? при помощи плагина или кода. возможность еще скрыть одну из категорий записей от неавторизованных.
https://ru.wordpress.org/plugins/blog-post-filter/ в этот плагин удалось реализовать то что нужно, но в нем есть нюанс. записи не скрываются в archive.php странице а только на home page.
function filterCategories($query) {
if ( !is_user_logged_in() ) {
if ($query->is_main_query() && is_home()) {
$categoryList = array();
$allowed = get_option('blogPostFilterCategories');
foreach($allowed as $id=>$status)
if($status==1){
$categoryList[] = $id;
}
$query->set('cat', implode(',', $categoryList));
}
}
}
Вы можете использовать действие template_redirect для перенаправления конкретных пользователей на основе ваших условий. Этот крюк действия выполняется непосредственно перед тем, как WordPress определяет, какую страницу шаблона загружать. Это хороший крючок для использования, если вам нужно сделать переадресацию с полным знанием содержимого, которое было запрошено.
Вы можете использовать функцию is_page, чтобы проверить погоду, что текущая страница находится в вашем списке страниц или нет.
add_action( 'template_redirect', 'redirect_to_specific_page' );
function redirect_to_specific_page() {
if ( is_page('slug') && ! is_user_logged_in() ) {
wp_redirect( 'http://www.example.dev/your-page/', 301 );
exit;
}
}
Или вместо редиректа вывести надпись что данный блок будет доступен после авторизации.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Сохраняю таблицу а б таблице вместо заданых значений Null, хотя значения GET не пустыеПробовал и без даты сохранять, все равно не получается
При работе на локальном сервере все шло отлично(перенес код на Wordpress случились ошибки)Мой JS скрипт не может обратиться к PHP скрипту ,который...
У меня есть 2 разных части проекта, одна сделана на nodejs - это p2p webrtc видео чат, вторая на php, это парсер
1С БитриксЕсть меню каталога товаров, в котором много уровней вложенности (например 10)