Ähnliche Artikel – 2 weitere Möglichkeiten

Ähnliche Artikel mit Bild
 ähnliche Artikel in WordPress

Ich glaube man kann nie genug Möglichkeiten haben „ähnliche Artikel“ am Ende eines Artikels anzuzeigen. Bei meinen Streifzügen durch die Weiten des WWW fand ich wiederum zwei Möglichkeiten diese ähnlichen Artikel zu holen.

Ähnliche Artikel mit Bild und Auszug

Other Posts von Stephan Lissa heißt das einfache Plugin mit dem man folgendes einstellen und frei gestalten kann:

  • den HTML Output
  • mit Bild
  • mit Link zum Artikel
  • Kurzer Textauszug

Ich musste bei dem Plugin folgende Zeile auskommentieren, vorher hat es mir keine Bilder angezeigt.

Suche nach folgender Zeile in der plugin.php im Pluginordner other-posts

// Remove the short codes
       $content = preg_replace('/\[.*\]/', '', $content);

Und kommentiere die Zeile mit 2 Schrägstrichen aus

// Remove the short codes
        //$content = preg_replace('/\[.*\]/', '', $content);
Ähnliche Artikel mit Plugin
 ähnliche Artikel in WordPress

Ähnliche Artikel anhand von Tags oder /und Kategorien

Auf Maratz.com fand ich folgenden Code.

Hier wird die Ähnlichkeit anhand von Tags /Schlagwörtern gesucht, hat man zb 7 ähnliche Artikel vorgegeben und es werden aber nur 5 ähnliche bei den Tags gefunden dann sucht dieser Code nach Ähnlichkeiten in den Kategorien.

Dieser Code sollte direkt in die Single.php in den Loop geschrieben werden, also mindestens vor dem „endwhile„.

<?php

    $max_articles = 7;  // How many articles to display

    ?><div id="related-articles" class="sidebox"><h3>&Auml;hnliche Artikel</h3><ul> 

    <?php $cnt = 0;

    $article_tags = get_the_tags();
    $tags_string = '';
    if ($article_tags) {
        foreach ($article_tags as $article_tag) {
            $tags_string .= $article_tag->slug . ',';
        }
    }

    $tag_related_posts = get_posts('exclude=' . $post->ID . '&numberposts=' . $max_articles . '&tag=' . $tags_string);

    if ($tag_related_posts) {
        foreach ($tag_related_posts as $related_post) {
            $cnt++;
            echo '<li class="child-' . $cnt . '">';
            echo '<a  title="'.$related_post->post_title . '" href="' . get_permalink($related_post->ID) . '">';
            echo $related_post->post_title . '</a></li>';
        }
    }

    // Only if there's not enough tag related articles,
    // we add some from the same category

    if ($cnt < $max_articles) {

        $article_categories = get_the_category($post->ID);
        $category_string = '';
        foreach($article_categories as $category) {
            $category_string .= $category->cat_ID . ',';
        }

        $cat_related_posts = get_posts('exclude=' . $post->ID . '&numberposts=' . $max_articles . '&category=' . $category_string);

        if ($cat_related_posts) {
            foreach ($cat_related_posts as $related_post) {
                $cnt++;
                if ($cnt > $max_articles) break;
                echo '<li class="child-' . $cnt . '">';
                echo '<a title="'.$related_post->post_title . ' "  href="' . get_permalink($related_post->ID) . '">';
                echo $related_post->post_title . '</a></li>';
            }
        }
    }

    echo '</ul></div>';

?>

Ich habe den title Tag überall dazugegeben.

Weitere Möglichkeiten wie Du ähnliche Artikel anzeigen kannst, findest Du unterhalb dieses Artikels.

Wars hilfreich freu ich mich übers Weitersagen.
13

13 Beiträge zu “Ähnliche Artikel – 2 weitere Möglichkeiten

  1. Kommentar Autor
    Lefdi
    Kommentar

    Hi,
    habe den Code von Matze bei mir mal eingebaut, dass Problem war aber, dass mir dann die ganzen Links unterstrichen wurden.

    An was kann das liegen?

    LG

    Lefdi

  2. Kommentar Autor
    Der Koerper
    Kommentar

    @Lefdi
    Ich hoffe ich seh es richtig und wolltest das auf der Radseite(Link von deinem Kommentar) einbauen? Da gibt es nämlich keinen globalen Style für Links. Am einfachsten schreibst du in der Zeile:

    ——-Anstatt———-

    echo '<a>post_title . ' href="' . get_permalink($related_post-&gt;ID) . '"&gt;';
    
    echo '<a>post_title . ' href="' . get_permalink($related_post-&gt;ID) . '"&gt;';
    

    Oder du schreibst in das Hauptstylesheet (style.css):

    
    #related-articles a { text-decoration:none; }
    [/php]
    
    
    Mfg Richard
    Entschuldige bitte den Doppelpost, habs beim ersten mal nicht formatiert gehabt.
  3. Kommentar Autor
    Daniel
    Kommentar

    Hi Monika,

    letztens hat mir ein Besucher auch noch einen sehr effizienten Hinweis hinterlassen, der sogar Frank Bueltge´s Version um ein paar queries hinter sich lässt.

    Nur der Vollstädnigkeit halber, obwohl da natürlich noch mehr Links erscheinen müssten, ich weiß :-)

    LG aus Berlin!

  4. Kommentar Autor
    Lefdi
    Kommentar

    Hi Richard,

    ja für die Seite soll es sein.
    Ähm, sind die beiden Codes die ich austauschen soll nicht identisch…?
    Ich seh da keinen Unterschied.

    Mit der CSS-Anweisung ging es irgendwie auch nicht.

    LEfdi

  5. Kommentar Autor
    Der Koerper
    Kommentar

    WordPress bzw. das Theme macht mir leider die Formatierung kaputt. Eigentlich ist das ein anderer Code.
    Wenn du das einbaust, unterstreicht er sämtliche Links oder nur die betreffenden, also die ähnlichen Artikel?

  6. Kommentar Autor
    Monika
    Kommentar

    Hi nicht der Code macht Dein Design anders, sondern vermutlich das CSS,
    der Code gibt gar keine CSS Anweisung, er nimmt die vom vorhandenen Theme für die Links,

    tippe in die style.css des verwendeten Themes

    #related-articles ul li a{text-decoration:none;}
    [/php]
    
    Beim Plugin kannst Du ja das html bestimmen, da weiß ich nicht was Du reingetippt hast,
    lg
  7. Kommentar Autor
    Lefdi
    Kommentar

    Moin,

    Plugin hab ich keines, hab nur den obigen Code in die single.php eingefügt.
    Aber auch mit der CSS-Anweisung werden die Links immer noch unterstrichen und zwar nicht nur die ähnlichen Artikel sondern alle auf der Webseite.
    Hab es mal so gelassen, damit ihr seht was ich meine

    Lefdi

  8. Kommentar Autor
    funkygog
    Kommentar

    Ist in dem Code diese Zeile unvollständig?
    <u
    sollte das evtl. die startete Auflistung sein?
    als

  9. Kommentar Autor
    funkygog
    Kommentar

    Der Kommentar kam leider auch nur unvollständig an.

    …sollte das evtl. die startete Auflistung sein?
    also das öffnende ul.

  10. Kommentar Autor
    Monika
    Kommentar

    da oben hat sich ein Fehler eingeschlichen gehabt, ein “ zuwenig :(
    ich glaub ich habe das gestern 12mal locker durchgelesen, und nicht gesehen
    und der kam 100% durch copy&paste, weil auf der Testseite ist er ja nicht da

    tut mir sehr leid und einfach nochmals kopieren…

    ist doof sowas,wenns passiert …. kann bloß virtuell einen Kaffee hinstellen

    lg

  11. Kommentar Autor
    Der Koerper
    Kommentar

    Den Kaffee nehm ich gerne :), Kein Problem!

  12. Kommentar Autor
    Lefdi
    Kommentar

    hi,

    super, jetzt klappt es.
    ist doch kein problem. denke bei so vielen zeichen sieht man oft den wald vor lauter bäumen nicht mehr.

    und für die super schnelle antwort backe ich noch nen virtuellen kuchen ;-)

    lg und vielen dank
    lefdi