Отображение/скрытие элементов в зависимости от авторизации пользователя
Я хочу проверять при загрузке страницы, авторизован пользователь или нет, и соответственно скрывать форму входа, которую я запрограммировал. Есть причина, почему я использую эту форму входа вместо перенаправления на стандартную форму WordPress.
Идея была использовать functions.php:
if ( is_user_logged_in() ) {
echo '<li id="text-2" style="display:none;">';
} else {
echo '<li id="text-2">'; }
Этот код работает, но страница перестает загружаться после этого. И если я помещаю весь код в функцию, я получаю ошибку - Ошибка парсинга была решена в Ответе01 от Brad Dalton.
Короче говоря: Как показать/скрыть определенные элементы в зависимости от того, авторизован пользователь или нет?
правка01: Вот части кода перед тем, что я опубликовал выше:
<?php
function modify_user_contact_methods($user_contact) {
// Добавление новых полей
$user_contact['uidnumber'] = 'UID-Nummer';
return $user_contact;
}
add_filter('user_contactmethods', 'modify_user_contact_methods');
?>
<?php
if ( is_user_logged_in() ) {
echo '<li id="text-2" style="display:none;">';
} else {
echo '<li id="text-2">';
}
?>
правка02: Я попробовал использовать код, предоставленный ниже с action_hook:
add_action( 'loop_start', 'loginCheck' );
function loginCheck() {
if ( is_user_logged_in() ) {
echo '<li id="text-2" class="hidden">';
} else {
echo '<li id="text-2">';
}
}
Теперь страница выглядит так: - решено в правке03
правка03: Я использовал временное решение, заменив loop_start на loop_end. Однако, как я сказал ранее, раздел, который я хочу скрыть, все еще отображается.
правка04: WP_DEBUG.. посмотрим.. - не найдено ничего существенного, связанного с проблемой
правка05: Итак, вот краткое изложение текущей ситуации:
- Страница загружается, все элементы отображаются, проверено.
- jQuery открывает и закрывает окно входа, если пользователь не авторизован, проверено.
- Содержимое скрыто, когда пользователь авторизован, чтобы избежать путаницы, НЕ РЕШЕНО.
По сути, только функция не делает то, что должна.
Вот ссылка на сайт: easy2work.at
Я хочу скрыть "Firmen-Login | Anmelden" после того, как пользователь авторизуется, и отобразить что-то другое вверху, что уже готово к реализации.
Ваш код не будет работать в файле функций темы, если он не содержит хука.
Попробуйте что-то вроде:
add_action( 'loop_start', 'your_function' );
function your_function() {
if ( is_user_logged_in() ) {
echo '<li id="text-2" class="hide">';
} else {
echo '<li id="text-2">';
}}

Итак, сайт снова загружается, но ничего не изменилось в отношении упомянутой мной проблемы. Кроме того, загрузка сайта останавливается после заголовка (см. выше)
