Code o. PlugIn damit bei nur 1 Artikel in einer Kategorie keine Artikelvorschau kommt

  • Hallo zusammen,

    wie wäre der Code für folgende Aufgaben?

    Wenn bei meiner (Kategorie)Navigation einer Kategorie z.B. 5 Artikel zugeordnet sind, werden diese 5 bei Klick in der gekürzten (55 Wörter) Vorschau mit Artikelbild schön untereinander aufgelistet.

    Ich habe aber auch Kategorien, denen nur 1 Artikel zugeordnet sind, wo entsprechend nur dieser 1 Artikel in dieser „Kurz Vorschau“ angezeigt wird-, und das hätte ich gerne so geändert, dass in einem solchen Fall diese „Kurz Vorschau“ nicht kommt,- sondern direkt der volle Artikel. (Also die „Kurz Vorschau“ überspringt).

    So nach dem Motto:

    Wenn eine Kategorie < 2 Artikel, dann keine „Kurz Vorschau“, sondern direkt zur „Vollansicht“ des Artikels.

    Oder was noch besser wäre:

    Gibt es ein PlugIn bei denen man einstellen kann, ob eine Kategorie mit den entsprechenden Beiträgen in der „Kurz Vorschau“ angezeigt wird-, oder bei Klick (auch mit mehreren Artikeln) direkt in voller Länge (wie beim Standart Theme „twenty eleven“ auch) untereinander aufgelistet werden.

    Viele Grüße

    Kenny2012

    • 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

  • plugin kenne ich dazu nicht;


    abhaengig vom verwendeten theme, zB in category.php den 'excerpt' code ersetzen;


    also von:

    PHP
    the_excerpt(); ?>


    zu:

    PHP
    <?php if( $wp_query->found_posts == 1 ) : global $more; $more = -1; the_content(); $more = 0;
    else : the_excerpt(); ?>


    nicht getestet

  • Hallo,

    danke für die Nachricht.

    Hat leider nicht funktioniert.

    Gibt es Themes in denen es diesen Code "excerpt" nicht gibt?

    Den Begriff "excerpt" gibt es im gesamten Theme nur 2X

    $comment_excerpt = join(" ", array_slice($words, 0, $comment_lenth));

    und

    $output .= '" title="View the entire comment by ' . $comment_author.'">' . $comment_excerpt.'</a>' . $after;


    Beides steht in der function.

    Deinen Code habe ich an verschiedenen Stellen versucht zu plazieren, allerdings ohne Erfolg.

    Woran kann das liegen?

    Grüße

  • Hallo,

    Das Theme heisst "Portal" und ist von Theme Junkie.

    Ich habe heute auch fast alle Beiträge im entsprechenden Forum durchgemacht, bin aber nicht fündig geworden.

    Gleiches gilt für den "more" Befehl innerhalb von Posts, der wird einfach ignoriert.

    Als Supportantwort kam nur:

    theme supports excerpt (auto function)

    (was immer das heissen mag), nur wie man den more Tag in Gang bekommt und bei einzelnen Beiträgen die Vorschau übersprugen wird, wurde nicht gesagt.

    Theme Demo:

    http://www.freshthemes.com/demo/portal/

    Grüße

    Kenny

  • 1. Ausgangsbasis: http://codex.wordpress.org/
    2. the_excerpt() ruft auch nur den Auszug ab - nicht den vollständigen Artikel.
    3. Die Funktion hat einen Fallback auf the_content(), wenn kein Auszug im Post vorhanden ist.
    4. Der Fallback ruft 55 Wörter ab.
    5. Du kannst also direkt mit the_content() arbeiten und dort einen eigenen Filter (add_filter) anwenden.

    Von daher ist der Ansatz von alchymyth schon richtig. :)

  • Hallo,

    das Problem ist, das es den "[COLOR=#000000][FONT=Courier New][COLOR=#0000bb]the_excerpt[/COLOR][COLOR=#007700](); [/COLOR][COLOR=#0000bb]?>[/COLOR] [/FONT][/COLOR]" den ich ersetzen soll im Template scheinbar nicht vorhanden ist...

    Ich habe deshalb versucht den Code von alcymyth einzubauen, mit dem Ergebnis "Syntax....." also Seite weg.

    Wie ist den der Code mit einem add_filter?

  • Das ist kein Problem, weil Wordpress eine API verwendet und die immer und komplett im Theme zur Verfügung steht! Wirf mal einen Blick in die loop.php (wenn die nicht vorhanden ist, wird das woanders gemacht, bspw. als Include o. ä.). Dort solltest Du auf einen Code ähnlich wie

    PHP
    while (have_posts()) : the_post();

    stoßen.

    Ein Beispiel aus einem meiner Blogs:

    PHP
    if($data['enable_full_blog'] == 'enable') {
         the_content(); } else {
                echo wp_trim_words(get_the_content(), $data['blog_excerpt'] );
     }

    Die if-Anweisung müsstest Du dann mit Deiner Kondition versehen und entsprechend besetzen. $data ist ein eigenes Array, hat nix mit WP zu tun, steht aber WP-Stuff drin. :)

    Nachtrag: Die Anweisung oben überprüft, ob ein vollständiger Blog angezeigt werden soll. Wenn das der Fall ist, wird der komplette Post genommen, ansonsten der Auszug.

    Codex lesen, studieren, lernen - ich liefere keinen fertigen Code. ;)

Jetzt mitmachen!

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