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(); ?>

Подписаться
Уведомить о
guest

28 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии