dynamicinternet Webdesign

Das Blog

Themen, Tutorials sowie Tipps & Tricks über Webdesign, (X)HTML und CSS, Programmierung, WordPress und was uns sonst noch bewegt.

RSS abonnieren

Sticky Post Dilemma in WordPress

Leute, ich bin kurz davor, einen Nervenzusammenbruch zu bekommen. Auslöser ist die Möglichkeit, eine Post als sticky zu markieren, Frank hat das vor kurzem erklärt.

Jetzt kommts. Schreibt mal in euer index.php query_posts(‘showposts=5′); Habt ihr eine Post als sticky markiert, wieviel Beiträge werden dann gelistet? Richtig, 6! Aber es kommt noch besser. Mal angenommen, ihr habt ein 2. Query auf euer Startseite, was wird bei diesem 2. Query als erstes angezeigt? Richtig, wieder die Sticky Post und wieder ist die Anzahl um eins höher wie geplant. Nice one!

Wenn man zwingend auf die richtige Anzahl der Posts angewiesen ist, ist man am A….
Es gibt zwar eine Funktion is_sticky(), logischerweise nur im Loop und da ist es schon zu spät. Da werden sich einige Themedesigner aber freuen, wenn es das Layout zerschießt.

11 Kommentare
  1. Frank sagt:

    eventuell kannst du über das Options-Feld gehen, habe jetzt aber keine Lösung erarbeitet.
    get_option('sticky_posts')
    Dort ist das oder die Stickys eingetragen, so dass du die ID des Post kennst. Damit bist du unabhängig vom Loop.

  2. Micha sagt:

    Gute Idee, muß dann später mal ausprobieren. Im 2.Loop werde ich warscheinlich
    if(!is_sticky()) :
    einsetzten. Nervt natürlich, wieder eine blöde Resourcenverschwendung.

  3. Frank sagt:

    Noch ist 2.7 nicht da und man kann eifrig mitdiskutieren, wirf doch mal den Einwurf ein, eventuell waren ja die Anforderungen an die Funktion nicht so klar.

  4. Micha sagt:

    Zitat Ryan Boren auf meine Mail an wp-testers:

    On wordpress.com, we’ve found that themes needing a specific number of
    posts (typically one or two) shouldn’t be used with sticky posts
    anyway. The cost and hassle of changing this is not worth it.

  5. Ist ja witzig…

    Nicht witzig finde ich dagegen die fehlende Möglichkeit an die Funktion wp_schedule_event im dritten Parameter ein Array übergeben zu können (falls die Hook-Funktion in einer Klasse steckt).

  6. Micha sagt:

    Ich glaube, die haben sich bei der Implementierung vollkommen verrissen oder über die Auswirkungen nicht nachgedacht.

  7. Kann passieren bei dem Umfang…

  8. Frank sagt:

    @Sergej: Habe es schonmal berichtet und nun ist es im Trac. http://trac.wordpress.org/ticket/7742
    Ist aufgenommen, mal sehen, wann man es umsetzt.

  9. Danke Frank.

    Musste im wpSALE-Plugin die Hook-Funktion aus der Klasse rausnehmen. Fühle mich dabei irgendwie nicht wohl :)

  10. Monika sagt:

    hi ich weiß nicht, ob Du die Lösung schon fandst:

    query_posts('caller_get_posts=1');

    damit schmeißt Du *sticky* aus dem Loop ;)

    lg

  11. Micha sagt:

    ja, hat der Otto in der wp-tester Mailinglist gepostet. Wie es aussieht, ist der falsche Count bei showposts auch gefixt.

Einen Kommentar schreiben