Links auf Startseite unter Teaser

  • Hallo zusammen,

    ich habe folgendes Problem auf meinem Blog http://www.havenlog.de. Ich habe alle Artikel mittels More-Tag getrennt (Excerpt läuft nicht sauber und ist zu umständlich) und zeige somit nur den Texteinstieg.

    Dazu möchte ich ggf. darunter weitere Artikel verlinken. Dass soll manuell erfolgen, also nicht mittels Simple Tags oder ähnlichem. Darin enthalten sollen Posts und Seiten sein. Die Idee ist wie in Zeitungsportalen, z.B. bei Spiege online, "Mehr zum Thema".

    Ich habe mir überlege, mit einem custom field namens "Link" zu arbeiten, darin wird die ID eingetragen.

    Nun bekomme ich die Ausgabe nicht hin, da es ja mehrere Links sein können. Es soll in etwa so aussehen:

    Text. (weiterlesen)

    Mehr zum Thema (steht nur da, wenn etwas vorhanden ist)
    * Link 1
    * Link 2
    * usw.

    Kann mir jemand helfen, das zu entwerfen? Als Theme verwende ich Inuit Types in der von Wordpress.org zur Verfügung gestellten Version. Ein wenig angepasst habe ich es schon.

    Vielen Dank.
    Beste Grüße
    Frank

    • 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

  • etwa so:

    PHP
    <?php $mzt = get_post_meta($post->ID,'mehr_zum_thema',false); if ($mzt) {
     echo 'Mehr zum Thema:<br/>';
     foreach($mzt as $mehr) echo $mehr.'<br/>';
     };  ?>



    in index.php oder/und single.php im loop an geeigneter stelle einfuegen.

  • Danke, aber

    Hallo Alchymyth,

    vielen Dank. Das funktioniert soweit. Allerdings müsste ich noch einen Link daraus basteln. Das dürfte nach meiner Nicht-Programmierer-Meinung doch an dieser Stelle passieren:

    PHP
    foreach($mzt as $mehr) echo $mehr.'<br/>';

    Da ich die ID des Artikels angeben möchte, weil die alleine ja eindeutig ist, müsste das doch in etwa so aussehen:

    PHP
    foreach($mzt as $mehr) echo HIER DER LINK $mehr.'<br/>';

    Die Funktion the_permalink() scheint nicht geeignet zu sein. Daher muss ich dann wohl hart kodieren, oder? Das wäre dann http://www.havenlog.de...., wo bei meine Permalinkstruktur so aussieht:

    /%category%/%postname%/%post_id%/

    Danke für den abschließenden Tipp.

    Beste Grüße
    Frank

  • ok, hatte ich nicht ganz gelesen:

    den permalink kriegst du mit der ID:

    http://codex.wordpress.org/Function_Reference/get_permalink

    und den titel mit

    http://codex.wordpress.org/Template_Tags/get_the_title

    gesamt:

    PHP
    <?php $mzt = get_post_meta($post->ID,'mehr_zum_thema',false); 
     if ($mzt) {
       echo 'Mehr zum Thema:<br/>';
       foreach($mzt as $mehr) { 
       $link = get_permalink( $mehr ); 
       if($link) echo '<a href="'.$link.'">'.get_the_title( $mehr ).'</a><br/>'; }
     };  ?>




    alternative: etwas einfacher zum eintippen in das benutzerdefinierte feld - als komma getrennte liste '12, 27, 77':

    PHP
    <?php $mzt = get_post_meta($post->ID,'mehr_zum_thema',true); 
     if ($mzt) {
       echo 'Mehr zum Thema:<br/>';
       $mzt = explode(',',$mzt);
       foreach($mzt as $mehr) { 
       $link = get_permalink( $mehr ); 
       if($link) echo '<a href="'.$link.'">'.get_the_title( $mehr ).'</a><br/>'; }
     };  ?>

Jetzt mitmachen!

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