Si el usuario está conectado mostrar/ocultar elementos
Quiero verificar al cargar la página si el usuario está conectado o no y ocultar la máscara de inicio de sesión que programé en consecuencia. Hay una razón por la que estoy usando dicha máscara de inicio de sesión en lugar de redirigir al inicio de sesión estándar de WordPress.
La idea era usar functions.php:
if ( is_user_logged_in() ) {
echo '<li id="text-2" style="display:none;">';
} else {
echo '<li id="text-2">'; }
Este código funciona, pero mi página deja de cargar después de eso. Y si empaqueto todo en una función obtengo un error - El error de análisis ha sido resuelto por Answer01 de Brad Dalton.
En resumen: ¿Cómo muestro/oculto ciertos elementos dependiendo de si un usuario está conectado o no?
edición01: Aquí están las partes antes del código que publiqué arriba:
<?php
function modify_user_contact_methods($user_contact) {
// Agregar nuevos campos
$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">';
}
?>
edición02: He intentado usar el código proporcionado abajo con el 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">';
}
}
Sin embargo ahora la página se ve así: - resuelto en edición03
edición03: He usado una solución temporal cambiando loop_start por loop_end. Sin embargo, como dije antes, la sección que quiero ocultar todavía se está mostrando.
edición04: WP_DEBUG.. veamos.. - sin hallazgos relevantes relacionados con el problema
edición05: Aquí está el resumen de la situación actual:
- La página está cargando, todos los elementos se muestran, verificado.
- jQuery abre y cierra el Login-Box si el usuario no está conectado, verificado.
- El contenido está oculto cuando el usuario está conectado para evitar confusiones, SIN RESOLVER.
Entonces esencialmente es solo la función que no hace lo que se supone que debe hacer.
Aquí hay un enlace al sitio web: easy2work.at
Lo que quiero es ocultar el "Firmen-Login | Anmelden" una vez que el usuario está conectado y mostrar algo más arriba que está listo para ser implementado.

Tu código no funcionará en el archivo de funciones del tema a menos que incluya un hook.
Prueba algo como:
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">';
}}

Así que el sitio está cargando nuevamente, pero no ha cambiado nada respecto al problema que mencioné. Además, el sitio deja de cargar después del encabezado (ver arriba)
