php Code zum Anzeigen eines bestimmten Artikels

  • Moin,

    suche ein php code wodurch einen bestimmten Artikel in der Sidebar in der Voransicht (Überschrift und die ersten 20 wörter) anzeigen lassen kann. Wäre nett wenn mir jemand helfen könnte.


    Grüße
    Dr.Disco

    • 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

  • Nachgefragt

    Noch eine Frage zu diesem Vorgehen von mir.

    Wie muss ich den Code anpassen, wenn ich anstatt eines bestimmten Artikels den Code dazu nutzen will, nur Artikel aus einer bestimmten Kategorie anzuzeigen?

    Also meiner Vorstellung nach würde das so dann aussehen:
    - Kategorie ID436
    - Jeweils der letzte Artikel der Kategorie wird angezeigt.

    Ist das Möglich mit diesem Code oder muss da was anderes für her?

  • NS6: Den Code findest du hundertfach hier im Forum. Das dürfte einer der wenigen Posts sein in dem es mal um was andres geht. ;-)

    PHP
    <?php $sidePost = new WP_Query('cat=436&showposts=1'); ?> 
    <?php if ( $sidePost->have_posts() ) : $sidePost->the_post(); ?> 
      <h2><?php the_title() ?></h2> 
      <?php the_excerpt() ?> 
    <?php endif; ?>
  • Danke sehr, werde ich gleich dann mal ausprobieren mit dem anderen Code zusammen aus dem anderen Topic. :)

    Jedoch habe ich noch ein weiteres Problem gefunden, auf das ich vorher gar nicht gekommen bin. Weil wenn ich das dann so mache mit dem Code, dann werden die Artikel aus dieser Kategorie ja auch unter
    Lese jetzt weitere aktuelle Artikel aus meinem Blog

    zu sehen sein, also bei den letzten 10 Artikeln mit angezeigt. Das ist dann auch schon das Problem, weil die Artikel aus der Kategorie haben da nichts zu suchen, eigentlich. Also nächste Frage, kann man das irgendwie ausklammern? Dafür sorgen das explizit die Artikel aus dieser Kategorie dort nicht vorkommen?

    Mein Idee für die Lösung des Problem, war in Richtung "Ausblenden von Seiten in WordPress" nur halt anders herum, wenn das überhaupt geht. :confused:

  • Mein Idee für die Lösung des Problem, war in Richtung "Ausblenden von Seiten in WordPress" nur halt anders herum, wenn das überhaupt geht. :confused:


    Naja, es geht dir ja um Artikel, nicht um Seiten. Da ist die Vorgehensweise anders. Du hast verschiedene Möglichkeiten. Vermutlich reicht es, dort eine bestimmte Kategorie ein- bzw. auszuschließen.
    Aber beschreib doch bitte erstmal, wie der Abschnitt "Lese jetzt weitere aktuelle Artikel aus meinem Blog" programmiert wurde. Sollte ähnlich zu Code oben sein.

  • Ups, hab ich doch nicht dran gedacht den Code mit anzuhängen. Nun dann hier der komplette Code aus der Index.php mit allem drum und dran.

    Habe den Codeschnipsel für das anzeigen der einzelnen Kat mal grade local eingebaut, funktioniert auch, bis auf den Punkt das man den Titel nicht anklicken kann und somit nicht in die Einzelansicht kommt. Zudem bekomme ich nur ein "[...]" anstatt ein "mehr..." am Ende!

    ...hab den Code mal angepasst und die Version hier entsprechend editiert...

  • Hier musst du die Kategorie ein-/ausschließen:

    PHP
    <!-- SubText-Container End -->    
                    <?php query_posts([COLOR="Red"]'showposts=10&offset=1'[/COLOR]); ?> <!-- The 5 most recent post, the first one not included -->
                    <h2>Lese jetzt weitere aktuelle Artikel aus meinem Blog</h2>
                    <ul>
                        <?php while (have_posts()) : the_post(); ?>
                        <li><span class="title"><a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></span> <span class="meta"> - <?php the_time('j. F Y'); ?> um <?php the_time('H:i'); ?> - <a href="<?php the_permalink() ?>#commenting" title="Jetzt kommentieren"><?php comments_number('0 Kommentare','1 Kommentar','% Kommentare'); ?></a></span></li>
                        <?php endwhile; ?>
                    </ul>


    Einschließen geht mit "cat=123", zum Ausschließen setzt du ein Minus vor die ID.
    Template Tags/query posts WordPress Codex

    Zitat

    Habe den Codeschnipsel für das anzeigen der einzelnen Kat mal grade local eingebaut, funktioniert auch, bis auf den Punkt das man den Titel nicht anklicken kann und somit nicht in die Einzelansicht kommt.


    Dann bau einen Link ein. ;-)

    PHP
    <h2>[COLOR="#ff0000"]<a href="<?php the_permalink() ?>">[/COLOR]<?php the_title() ?>[COLOR="#ff0000"]</a>[/COLOR]</h2>
    Zitat

    Zudem bekomme ich nur ein "[...]" anstatt ein "mehr..." am Ende!


    Das liegt an the_excerpt(). Nimmt the_content() statt dessen.
    Template Tags/the excerpt WordPress Codex
    Template Tags/the content WordPress Codex

  • Bin grade dabei das local einzubauen und zu testen, bisher keine Fehler gefunden.

    Du sagtest ja selber das man "the_excerpt()" nur bedingt modifzieren kann und ich statt dessen auf "the_content()" ausweichen sollte. Wenn ich das also mache, bleibt trotzdem die Frage bestehen für mich ob ich das dann so modifizieren kann das zB. nur 130 Zeichen vom Artikel angezeigt werden?

    Anonsten gibt es da ja noch die von dir beschriebenen Plugins für sowas...


    Wie trage ich das dann korrekt im Code ein, darum geht es mir dann noch abschliessend.

    Also so steht es ja bisher drin:

    PHP
    <?php query_posts('showposts=10&offset=1'); ?>

    Daraus mache ich dann das:

    PHP
    <?php query_posts('showposts=10&offset=1&cat=-4'); ?>

    Passt das so, oder muss das anders gemacht werden?

    Auch wenn mein English nicht so gut ist, so habe ich die Liste doch kapiert nach mehrmaligen Lesen... :D

  • Du sagtest ja selber das man "the_excerpt()" nur bedingt modifzieren kann und ich statt dessen auf "the_content()" ausweichen sollte. Wenn ich das also mache, bleibt trotzdem die Frage bestehen für mich ob ich das dann so modifizieren kann das zB. nur 130 Zeichen vom Artikel angezeigt werden?


    Du kannst dann ganz einfach den More-Tag nutzen, also manuell trennen. Falls es automatisch gehen soll, und the_excerpt() nicht reicht, dann nimmst du eins der nebenan genannten Plugins her.

    Zitat

    Wie trage ich das dann korrekt im Code ein, darum geht es mir dann noch abschliessend.

    PHP
    <?php query_posts('showposts=10&offset=1&cat=-4'); ?>

    Passt das so, oder muss das anders gemacht werden?


    Jupp, passt. :-)

    Zitat

    Auch wenn mein English nicht so gut ist, so habe ich die Liste doch kapiert nach mehrmaligen Lesen... :D


    Schön. :-D Ich kann dich auch auf unsre deutschsprachige Doku verweisen - die ist aber derzeit leider alles andere als gut. ;-) Der "Kategorie ausschließen"-Teil sollte aber dort auch zu finden sein:
    Template Tags/query posts ? WordDoku

  • Es passt nur Teilweise so wie es soll...

    Also es funktioniert nun fast alles so wie es soll, aber eben auch nur FAST! :evil:

    Das Problem bildet der neue Text-Container, wo der neue Inhalt drin sein soll. Der Container ansich passt super, nur werden die/der Artikel aus der neu angelegten Kategorie nicht angezeigt und das obwohl der Artikel bereits veröffentlicht ist. Direkt und manuell per URL-Eingabe im Browser komme ich zum Artikel aber so normal ist da nix zu finden.

    Der Witz an der ganzen Sache ist zudem, im Backend kann ich sehen das der Artikel in der entsprechenden Kategorie vorhanden ist. Im Blog selber, also im Frontend, sehe ich in der Kategorie NULL Artikel.

    Hier mal der komplette Code aus der index, wobei es da dann um die Stelle ab "<!-- START SubText Container -->" geht.

    Die neue Kategorie heisst "Gedankenspiele" und hat die ID-1994 und es ist schon 1 Artikel drin vorhanden den man über direkt über DIESEN LINK aufrufen kann oder halt manuell per Eingabe der URL was aber halt nicht Sinn und Zweck vom ganzen ist.

Jetzt mitmachen!

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