Bestimmte Menge Posts in der Sidebar MIT einem Custom Field anzeigen

  • Hallöchen,

    bei dem standard "Recent Posts" werden zwar so viele Beiträge angezeigt wie nötig, jedoch wünsche ich mir noch ein "Custom Field" dazu. Dachte auf Anhieb daran den Code aus der content.php zu nutzen, jedoch ist die Sidebar sicherlich außerhalb des Loops.

    Innerhalb des Loops konnte ich mittlerweile einige Funktionen kennen lernen, außerhalb jedoch nicht. Könnt Ihr mir vielleicht einige Links dazu posten?

    Also eine bestimmte Menge Posts anzeigen (bestimmt irgendeiner der ganzen Queries) und dazu noch ein Custom Field passend mitladen (irgendwas mit Meta bestimmt). Als nächstes eventuell den Usernamen ausgeben...

    • 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

  • Hallo espe,

    du kannst ganz einfach die Funktionen inerhalb der loop nutzen, wenn du einfach eine neue startest.
    Diese hat dann z.B. die Begrenzung nur 5 Posts anzuzeigen, jeweils nur den excerpt mit 10 Wörtern und dazu den author.

    Also z.B.:

    PHP
    <?php $args=array('showposts'=>4);
    $my_query = new WP_Query($args); 
    if( $my_query->have_posts() ) { 
    while ($my_query->have_posts()) : $my_query->the_post(); ?>
    <?php the_title(); ?>
    <?php the_excerpt(); ?>
    <?php the_author() ?>
    <?php endwhile; ?>
    <?php } ?>

    Gruß Martin

  • Mhh alle 4 Posts mit deinem Beispiel wurden in einen Div gepackt, wodurch der Text sowie Author hintereinander weggeschrieben wurden. Keine Möglichkeit keinen Link oder sonstige Formatierung anzuwerden :(

    Wenn ich wüsste wonach man in der Doku suchen muss :O

  • Du kannst den Code wie gewohnt im Loop formatieren. Z.B. kannst du um den title einen a-Tag basteln, du kann Überschriften und p-Tags drum rum setzen, Div-Container einsetzen etc. Hier mal ein kleines Bsp. wie der Loop i.d.R. aussieht:

    Du siehst, ist ganz normales HTML drum rum. Stylen kannst du das ganze dann mit CSS in der style.css deines Themes.

    [size=10]Bitte immer zuerst die Forensuche nutzen und erst danach Deine Fragen hier im Forum stellen, denn sehr vieles wurde schon mehrfach beantwortet. Bitte dabei auch die Forenregeln beachten.
    Kein Support per PN - Fragen gehören ins Forum.[/SIZE]
    [size=8]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/SIZE]

  • Hi,

    habe mittlerweile etwas über WP_Query und query_posts gelesen.
    Irgendwas funktioniert bei WP_Query mit Custom Field Image nicht.

    Habe folgengen Code von Euch übernommen (das Custom Field aka Bild-Url wird nicht ausgegeben):

    PHP
    <div id="home-new-guides">    <ul>        <?php        $my_query = new WP_Query('showposts=4'); 
            if ($my_query->have_posts()) : while ($my_query->have_posts()) : $my_query->the_post();        ?>        <li>            <img src="<?php echo get_post_meta($post->ID, "hero_icon", true); ?>" />            <a href="<?php the_permalink() ?>" title="<?php echo the_title(); ?>"><?php echo the_title(); ?></a>            <p>by <?php the_author(); ?></p>        </li>        <?php endwhile; endif; ?>    </ul></div>

    Mir fiel noch ein, dass ich bei einem älteren Blog von mir soetwas schonmal zusammenkopiert habe (mit der alten Variante werden die Custom Field Bilder angezeigt, also die URLs ausgegeben)

    PHP
    <div id="home-new-guides">    <ul>        <?php         // The Query        query_posts(array('orderby' => 'desc', 'showposts' => 5));
            // The Lop        if (have_posts()) : while (have_posts()) : the_post();        ?>            <li>                <img src="<?php global $wp_query; $cf_hero_icon = $wp_query->post->ID; echo get_post_meta($cf_hero_icon, 'hero_icon', true); ?>" />                <a href="<?php the_permalink() ?>" title="<?php echo the_title(); ?>"><?php shorten_title(the_title(), '...', 10); ?></a>                <p>by <?php echo get_the_author(); ?></p>            </li>                        <?php endwhile; ?>        <?php endif; ?>        <?php wp_reset_query(); ?>    </ul></div>

    Edit: Uh das sieht aber schrecklich aus... habe den Code aus Netbeans kopiert...

  • Richtig, da der Code außerhalb des eigentlichen Loops liegt, musst du dir wahrscheinlich erst noch vorher die Post-IDs holen. Am besten mit

    PHP
    global $post;


    oder aber wie in deinem anderen Code mit

    PHP
    $wp_query->post->ID;

    Ich tät's mal ungetestet so probieren:

    [size=10]Bitte immer zuerst die Forensuche nutzen und erst danach Deine Fragen hier im Forum stellen, denn sehr vieles wurde schon mehrfach beantwortet. Bitte dabei auch die Forenregeln beachten.
    Kein Support per PN - Fragen gehören ins Forum.[/SIZE]
    [size=8]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/SIZE]

Jetzt mitmachen!

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