Posts einer Kategorie auslesen

  • Hallo!

    Ich muss an einer bestehenden WP-Website Änderungen vornehmen. Und zwar möchte ich in einer WP-Seite in der "sidebar.php" Posts mit Neuigkeiten ausgeben (unabhängig von allen anderen Posts die es schon gibt).

    Ich habe mit Wordpress gar keine Erfahrung und habe es so versucht:

    Im Admin-Interface habe ich eine neue Kategorie namens "News" angelegt. Dann habe ich einen neuen Post mit der Kategorie "News" eingetragen. Das hat soweit funktioniert.

    Allerdings, wenn ich mir die Datenbank direkt ansehe, ist mein neuer Eintrag zwar im Table wp_posts vorhanden, jedoch ist als post_category nur 0 eingetragen, gleich wie bei allen anderen Einträgen, die bereits vorhanden waren. Ist das normal? Wie soll das dann funktionieren?

    Ich dachte nämlich, ich könnte dann einfach per

    PHP
    <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
    <?php if ( in_category(1) ) { ?>
    <?php the_title(); ?>
    [...]

    oÄ weitermachen, eben mit einer Id für "News" oder so.

    Wie kann ich das realisieren?

    Lg
    Sunny

    • 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

  • Also ich habe noch weiter herumgesucht und bin nun auch auf

    PHP
    query_posts('cat=News');

    gestoßen. Dann werden zwar die richtigen Artikel ausgegeben, aber nicht an der richtigen Stelle. Sie erscheinen nämlich anstatt im Bereich links in der sidebar dann im content-Bereich der Webseite. So funktioniert es irgendwie auch nicht :(

    Wie mache ich das richtig?

    Lg
    Sunny

  • Gelöst

    Okay, mittlerweile habe ich eine Lösung gefunden:

    PHP
    $myCat_Content = get_posts('numberposts=10&category=News');
    
    
        if (is_array($myCat_Content)) {
            foreach ($myCat_Content as $post) {
                $my_Content = $post -> post_content;
                $my_Title = $post -> post_title;
    ...

    Von WordPress Beiträge in Abhängigkeit der Kategorie ausgeben - bueltge.de [by:ltge.de]

    Warum das allerdings so funktioniert, und nicht anders, ist mir immer noch nicht ganz klar.

    Lg
    Sunny

  • Hmm, das funktioniert so leider doch nicht.
    Ich soll nämlich auch noch in einer anderen Seite im Inhaltsbereich mehrere Posts einer eigenen (neuen) Kategorie anzeigen (nicht in der Sidebar, im Contentbereich). Daher habe ich nun noch eine zweite Kategorie angelegt ("Jobs").

    Wenn ich allerdings Posts erstelle und der Kategorie "Jobs" zuweise, so werden diese jetzt auch in der Sidebar ausgegeben, trotz

    PHP
    get_posts('numberposts=10&category=News')

    Was ist da los? Wie kann ich die unterschiedlichen Kategorien voneinander trennen?

    Lg
    sunny

  • get_posts verursacht seit 2.6 einen Fehler.. zumindest berichten das ein paar User. Nutze stattdessen WP_Query, damit kannst du diverse angepasste Loops an diversen Stellen nutzen. z.B:

    PHP
    <?php $query_loop1 = new WP_Query('category_name=news'); ?>
    
    
    <?php while ($query_loop1->have_posts()) : $query_loop1->the_post();
    the_title();
    the_content();
    endwhile; ?>


    Und an anderer Stelle:

    PHP
    <?php $query_loop2 = new WP_Query('category_name=news2'); ?>
    
    
    <?php while ($query_loop2->have_posts()) : $query_loop2->the_post();
    the_title();
    the_content();
    endwhile; ?>

    wpseek.com - Die WordPress-Code-Suchmaschine

  • Vielen Dank für Deine Antwort. Wenn ich das mache, wird plötzlich um den the_content ein <p> gewickelt, welches da gar nicht sein soll.
    Bei $post -> post_content ist das nicht passiert.
    Finde das Ganze sehr verwirrend ...

  • Hm, ist es problematisch die Funktion get_the_content() zu verwenden?
    Dann passiert das mit dem komischen Wrapper-p-Tag nämlich nicht ...

    EDIT: Ja, ist es. Dann funktioniert nämlich das mit den unterschiedlichen Sprachen wieder nicht mehr. :(

    Wie kann ich den Inhalt des Posts ausgeben, ohne dass etwas dazugeschrieben wird, was da gar nicht ist, aber so, dass es mit [lang_en]...[/lang_en] usw. immer noch funktioniert?
    Mir ist das alles rätselhaft ...

    Einmal editiert, zuletzt von Sunny01 (28. Juli 2008 um 20:51)

  • versuch es mit

    PHP
    echo get_the_excerpt

    aber ob da die Sprachen funktionieren kann ich nicht testen,

Jetzt mitmachen!

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