1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

Problem mit <?php if ( $user_ID ) : ?>

Dieses Thema im Forum "Konfiguration" wurde erstellt von squirrel, 1. November 2007.

  1. squirrel

    squirrel Member

    Registriert seit:
    11. September 2007
    Beiträge:
    16
    Zustimmungen:
    0
    Hallo,

    ich möchte einen bestimmte Kategorie (und die Beiträge darin) nur für registrierte Leser einsehbar machen. In der comments.php wird ja über die Anzeige bestimmter Felder (z.B. username) durch den Befehl <?php if ( $user_ID ) : ?> entschieden.

    Als php-Neuling habe ich folgendes probiert:

    <?php if ( is_home() || is_category() ): ?> ​
    <li><h2><?php _e('Categories:'); ?></h2>​
    <ul>​
    <?php if ( $user_ID ) : ?>​
    <?php wp_list_cats('exclude=5,6'); ?>​
    <?php else : ?> ​
    <?php wp_list_cats('exclude=6'); ?>​
    <?php endif; ?>​
    </ul>​
    </li>​
    <?php endif; ?>​
    Ziel war natürlich, die Kategorie 6 immer auszuschließen und die Kategorie 5 nur anzuzeigen, wenn ein Benutzer angemeldet ist. Ergebnis ist aber, dass 5 auch grundsätzlich nicht angezeigt wird, ob ein- oder ausgeloggt.

    Wo liegt der Fehler?

    squirrel

    Ach so: Mountainbiken ist nicht alles,… , Wordpress 2.2.3 DE-Edition
     
  2. squirrel

    squirrel Member

    Registriert seit:
    11. September 2007
    Beiträge:
    16
    Zustimmungen:
    0
    gefunden

    Sorry, hab's gefunden. In der Index.php wurde der User-Status nicht abgefragt. Wenn ich folgenden Code vor dem if-tag einfüge, klappt es:
    <?php global $user_ID;​

    get_currentuserinfo();​

    ?>​
    Ich ändere meine Frage: Wie sähe ein möglicher Code aus, wenn die Kategorie ganz normal in wp_list_cats angezeigt werden sollte, aber beim klick darauf vor der tatsächlichen Anzeige überprüft werden sollte, ob der user eingeloggt ist, oder nicht. Natürlich bei !$user_id -> keine Anzeige / Anzeige "du musst eingeloggt sein", aber bei $user_id ganz normaler Zugriff.

    Gruß,
    squirrel
     
  3. marX

    marX Well-Known Member
    Ehrenmitglied

    Registriert seit:
    5. Oktober 2006
    Beiträge:
    12.943
    Zustimmungen:
    0
  4. squirrel

    squirrel Member

    Registriert seit:
    11. September 2007
    Beiträge:
    16
    Zustimmungen:
    0
    Danke.

    Mein fertiger Code in der index.php sieht jetzt so aus:

    <?php global $user_ID; get_currentuserinfo(); ?>

    <?php if ( is_category('8') && !$user_ID) : ?>

    <p>Du musst <a href="<?php echo get_option('siteurl'); ?>/wp-login.php?redirect_to=<?php echo get_option('siteurl'); ?>/?cat=8>">angemeldet sein</a> um die Beiträge dieser Kategorie lesen zu können.</p>

    <?php else : ?>
     
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden