Anfänger Frage zu "if"-Tag

  • Hallo,

    Auf meiner Seite habe ich auf index.php und archiv.php folgenden code:

    PHP
    <?php if ( in_category('reviews') || in_category('news','videos','podcasts','gamer-blog') ) {
    	the_excerpt();
    } else {
    	the_content('<strong>weiterlesen &raquo;</strong>');
    } ?>

    Soll heißen:

    "Wenn in Kategorie "reviews",
    dann excerpt Tag";
    "Wenn in den Kategorien "news", "videos" etc,
    dann content tag mit "weiterlesen link"

    Funktioniert bis jetzt prima.

    Nun möchte ich, dass noch folgendes hinzu kommt:
    "Wenn in der Kategorie "reviews",
    dann

    PHP
    <p align="right"><a href="<?php the_permalink(); ?>" algin="right">weiterlesen »</a></p>

    Also ich möchte den "weiterlesen" Link auch bei excerpt haben.

    Um dies zu verwirklichen hab ich folgendes in das Template (direkt neben dem ersten code) eingefügt

    PHP
    <?php if ( in_category('reviews') ) {
    <p align="right"><a href="<?php the_permalink(); ?>" algin="right">weiterlesen »</a></p> 
    }
    ?>

    Da wird mir aber immer ein Fehler angezeigt. Was mache ich falsch?

    Schon einmal danke für die Hilfe,
    Fairox

    Einmal editiert, zuletzt von Fairox (29. Januar 2011 um 01:15)

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Ich wage zu bezweifeln, dass das "prima" funktioniert, denn "||" bedeutet oder. Somit lautet Deine Abfrage:

    "Wenn in der Kategorie "reviews" oder in Kategorie "news", "videos", "podcasts", "gamer-blog", dann Auszug, sonst Inhalt.

    In der Beschreibung von the_excerpt() ist ein Beispiel dazu, wie man über eine neu zu definierende Funktion das Permalink mitgeben kann.

    Darüber hinaus meine ich, dass Du im zweiten Teil der Oder-Abfrage ein Array mitgeben musst, damit alle Möglichkeiten ausgewertet werden, also so:

    Code
    in_category( array( 'news', 'videos', 'podcasts', 'gamer-blog' ) )
  • Vielen, vielen Dank!

    Kannst du mir vielleicht noch sagen, was an meinem letzten Code falsch ist bzw. warum er nicht funktioniert hat, damit ich das in Zukunft richtig mache :wink:

  • Ok ich habe jetzt folgendes in die functions.php eingefügt:

    PHP
    function new_excerpt_more($more) {
           global $post;
    	return ' <a href="'. get_permalink($post->ID) . '">weiterlesen »</a>';
    }
    add_filter('excerpt_more', 'new_excerpt_more');

    So, aber er zeigt mit immer noch nicht den Link an.
    Ich will, dass der Weiterlesen-link immer direkt nach dem Auszug kommt

  • der fehler wird angezeigt, weil du in dem code von einem php tag direkt in html wechselst -

    das waere die richtige syntax (jetzt ohne ruecksicht auf funktion)

    PHP
    <?php if ( in_category('reviews') ) { ?>
    <p align="right"><a href="<?php the_permalink(); ?>" algin="right">weiterlesen »</a></p> 
    <?php }
    ?>



    also den ersten php tag schliessen, bevor es mit html weitergeht; und nach dem html wieder einen neuen php tag oeffnen, fuer den abschluss der if abfrage.

  • Ich habe jetzt versucht, diesen Code

    PHP
    <?php if ( in_category('reviews') ) { ?>
    <p align="right"><a href="<?php the_permalink(); ?>" algin="right">weiterlesen »</a></p> 
    <?php }
    ?>

    in diesen Code

    PHP
    <?php if ( in_category('reviews') ) { 
       the_excerpt();
    } else { 
       the_content('<strong>weiterlesen &raquo;</strong>'); 
    }
    ?>

    zu integrieren.

    So weit bin ich gekommen:

    PHP
    <?php if ( in_category('reviews') ) { ?>
        <?php the_excerpt(); ?><a href="<?php the_permalink(); ?>">weiterlesen »</a>
    <?php } ?><?php else { ?>
        <?php the_content('<strong>weiterlesen &raquo;</strong>'); ?>
    <?php }
    ?>

    Funktioniert aber nicht. Ich will direkt nach dem excerpt den oberen Permalink haben (nur ohne algin). Und das alles in einem Code.

    Kann mir da jemand helfen?

    HAT SICH ERLEDIGT!!!

    Musste nur das <?php } ?><?php else { ?>
    in <?php } else { ?> ändern.

    Topic kann geschlossen werden. Danke an alle!

    Einmal editiert, zuletzt von Fairox (29. Januar 2011 um 12:55)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!