Dacă utilizatorul este autentificat afișează/ascunde ceva
Vreau să verific la încărcarea paginii dacă utilizatorul este autentificat sau nu și să ascund masca de autentificare pe care am programat-o în consecință. Există un motiv pentru care folosesc această mască de autentificare în loc să redirecționez către pagina standard de autentificare WordPress.
Ideea era să folosesc functions.php:
if ( is_user_logged_in() ) {
echo '<li id="text-2" style="display:none;">';
} else {
echo '<li id="text-2">'; }
Acest cod funcționează, dar pagina mea se oprește din încărcare după aceea. Iar dacă împachetez totul într-o funcție primesc o eroare - Eroarea de parsare a fost rezolvată de Answer01 de Brad Dalton.
Pe scurt: Cum pot afișa/ascunde anumite elemente în funcție de autentificarea unui utilizator?
edit01: Iată părțile dinaintea codului postat mai sus:
<?php
function modify_user_contact_methods($user_contact) {
// Adaugă câmpuri noi
$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">';
}
?>
edit02: Am încercat să folosesc codul furnizat mai jos cu 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">';
}
}
Totuși acum pagina arată astfel: - rezolvat în edit03
edit03: Am folosit o soluție temporară prin schimbarea loop_start cu loop_end. Cu toate acestea, așa cum am spus mai devreme, secțiunea pe care vreau să o ascund este încă afișată.
edit04: WP_DEBUG.. să vedem.. - nicio constatare relevantă legată de problemă
edit05: Iată rezumatul situației actuale:
- Pagina se încarcă, toate elementele sunt afișate, verificat.
- jQuery deschide și închide Login-Box-ul dacă utilizatorul nu este autentificat, verificat.
- Conținutul este ascuns când utilizatorul este autentificat pentru a preveni confuzia, NEREZOLVAT.
Deci, în esență, doar funcția nu face ceea ce ar trebui să facă.
Iată un link către website: easy2work.at
Ceea ce vreau este să ascund "Firmen-Login | Anmelden" odată ce utilizatorul este autentificat și să afișez altceva acolo care este pregătit pentru implementare.

Codul tău nu va funcționa în fișierul de funcții al temei decât dacă include un hook.
Încearcă ceva de genul:
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">';
}}

Deci site-ul se încarcă din nou, însă nimic nu s-a schimbat în legătură cu problema menționată de mine. De asemenea, site-ul se oprește din încărcare după antet (vezi mai sus)
