Classipress 3.3 — Объявления без регистрации
Иногда пользователи темы Classipress спрашивают: Как размещать объявления без регистрации и возможно ли это? Это возможно, но придется внести некоторые правки в файлы темы.
И предупреждаю сразу, следующее решение подойдет для тех, кому вообще авторизация на сайте не нужна. Потому что, используя предложенное решение авторизованные пользователи не смогут размещать объявления. Т.е. вам нужно определиться: или объявления будут размещать только авторизованные пользователи или объявления смогут размещать только не авторизованные пользователи. Может быть в природе существует комплексное решение — чтобы все могли размещать объявления, но я его не знаю.
И еще один момент: перед внесением всяких правок в тему — делайте копии оригинальных файлов!
Итак, поехали:
Нужно внести правки в файл functions.php.
Этот файл вы найдете в папке: /wp-content/themes/classipress/framework/kernel/
Найдите функцию function appthemes_auth_redirect_login, строка 53.
Фрагмент кода:
/** * Checks if a user is logged in, if not redirect them to the login page. */ function appthemes_auth_redirect_login() { if ( !is_user_logged_in() ) { nocache_headers(); wp_redirect( wp_login_url( scbUtil::get_current_url() ) ); exit(); } }
Замените на это:
function appthemes_auth_redirect_login() { $user = wp_get_current_user(); if ( $user->ID || 0 ) { nocache_headers(); wp_redirect( wp_login_url($_SERVER['REQUEST_URI']) ); exit(); } }
При настройках по умолчанию, все объявления получают статус Ожидающие и не выводятся на сайте.
Как попасть в админку?
Набираете https://ваш_сайт/wp-admin
Откроется страница авторизации (в оформлении Classipress), вводите нужные данные и вас перебрасывает в админку сайта.
Как убрать ссылки на регистрацию и вход?
Открываем файл headers.php. Который находится в корне темы: /wp-content/themes/classipress/
Находим строку 10.
Фрагмент кода:
<?php echo cp_login_head(); ?>
Удаляем эту строку полностью. Но, я не рекомендую удалять строку, а просто отключить вывод ф-ции (а вдруг вы захотите снова ее включить).
Таким образом:
<?php //echo cp_login_head(); ?>