Sticky Post ausschließen

    • 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

  • Vielen Dank für den Link, ich schau mir das mal an.
    Habe im Codex geschaut, allerdings nach "Sticky Post" gesucht und leider nichts gefunden. :)

  • Ich habe doch ein Problem...
    Habe das nun mit folgendem Artikel gelöst:

    Klick!

    Soweit funktioniert auch alles, ich habe nun aber das folgende Problem:
    Wenn ich einstelle, dass drei Artikel angezeigt werden sollen , sind auf Seite 2 die gleichen Artikel wie auch auf Seite 1, sprich, ich kann den vierten Artikel nicht sehen. Dies muss an folgendem Code liegen:

    PHP
    <?php query_posts('caller_get_posts=1'); ?>


    Hier mal mein kompletter Code (geht unten noch weiter, aber das ist ja hierfür nicht relevant)

    Wer kann mir helfen??

    Ich will am Ende nur, dass der Sticky nicht doppelt angezeigt wird, denn momentan wird er mir im "unteren" Loop auch angezeigt...

  • Das Problem besteht weiterhin, ich hab alles mögliche probiert, den Code geändert etc, aber finde einfach keinen Fehler. Kann mir von euch wirklich niemand helfen?

  • da muss der 'paged' parameter in die 'query_posts()' zugefuegt werden:

    http://codex.wordpress.org/Function_Refer…tion_Parameters

    und netter hier erklaert:
    http://stylizedweb.com/2008/08/13/que…nation-problem/

    erst mal klaeren, was die verwendete 'query_posts()' ist:
    einmal steht da in deinem beitrg:

    PHP
    <?php query_posts('caller_get_posts=1'); ?>

    und dann im code steht:

    PHP
    query_posts('p=' . $sticky[0]); ?>



    im ersten fall sollte das so aussehen:

    PHP
    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; query_posts('caller_gets_post=1&paged='.$paged); ?>



    im zweiten fall sollte das so aussehen:

    PHP
    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; query_posts('p=' . $sticky[0] . '&paged='.$paged); ?>
  • Hallo,
    vielen Dank für deine Antwort!

    Die Pagination-Funktion geht nun wieder einwandfrei.
    Nun besteht nur noch das Problem, dass der Sticky Post immer noch auf der Startseite oben festgepinnt ist. Wie bekommt man den nun da weg?

    Hast du evtl. dafür auch eine Lösung für mich?

    Gruß,
    Björn

  • die loesung dazu war:

    der sticky post wurde als einziger post in einem ersten loop angezeigt.

    um den [COLOR=#306582]sticky post[/COLOR] dann im zweiten [COLOR=#306582]loop[/COLOR] nicht anzuzeigen, diesen code einsetzen (den alten code dadurch ersetzen; die erste und letzte zeile hier ist vom original):

    PHP
    <?php if ( have_posts() ) : 
    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 
    $sticky=get_option('sticky_posts'); 
    $args = array( 
    'caller_get_posts'=>1, 
    'post__not_in' => $sticky, 
    'paged'=>$paged 
    ); 
    query_posts($args); ?> 
    <?php while (have_posts()) : the_post(); ?>



    vor diesem zweiten loop ein 'wp_reset_query();' einfuegen, damit die paginierung klappt.

    ps:
    bin mir nicht ganz sicher, aber es scheint auf die position des 'caller_get_posts' im $args array anzukommen. hatte das in einer anderen reihenfolge versucht, und hatte nicht funktioniert.

Jetzt mitmachen!

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