Hallo,
ist es möglich, einen Sticky Post aus dem Loop auszuschließen?
Wenn ja, mit welchem Code?
Gruß,
duff
Um schreiben oder kommentieren zu können, benötigen Sie ein Benutzerkonto.
Sie haben schon ein Benutzerkonto? Melden Sie sich hier an.
Jetzt anmeldenHier können Sie ein neues Benutzerkonto erstellen.
Neues Benutzerkonto erstellenHallo,
ist es möglich, einen Sticky Post aus dem Loop auszuschließen?
Wenn ja, mit welchem Code?
Gruß,
duff
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.
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. :)
Hat funktioniert, vielen Dank!
Ich habe doch ein Problem...
Habe das nun mit folgendem Artikel gelöst:
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:
Hier mal mein kompletter Code (geht unten noch weiter, aber das ist ja hierfür nicht relevant)
<?php get_header() ?>
<?php // Sticky Post
query_posts('p=' . $sticky[0]); ?>
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<?php if (is_sticky()) { ?>
<div id="slider">
<div><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php _e( 'Permanent Link to', 'buddypress' ) ?> <?php the_title_attribute(); ?>"><?php the_post_thumbnail( 'index-view' ); ?></a></div>
<div id="slider_title">
<a href="<?php the_permalink() ?>" rel="bookmark" title="<?php _e( 'Permanent Link to', 'buddypress' ) ?> <?php the_title_attribute(); ?>">
<p class="newstitle"><?php the_title(); ?></a></p>
<p class="category"><?php the_category(', ') ?></p><p class="date_"><?php the_time('l, j. F Y') ?><?php printf( __( ' von %s', 'buddypress' ), bp_core_get_userlink( $post->post_author ) ) ?> </p>
<p class="entry-comments-link"><a href="<?php the_permalink() ?>#comments" rel="nofollow" title="Sag' deine Meinung, gib eine Kommentar ab!"><?php comments_number('No Comments', '1 Comment', '% Comments'); ?></a></p>
</div>
</div>
<?php } ?>
<?php endwhile; else : endif; ?>
<div id="content_">
<div class="padder">
<div id="newstitle"><p class="newstitle_">Aktuelle News</p><p class="archiv"><a href="#">[ Archiv ]</a></p>
</div>
<?php do_action( 'bp_before_blog_home' ) ?>
<div class="page" id="blog-latest">
<?php query_posts('caller_get_posts=1'); ?>
<?php if ( have_posts() ) : ?>
<?php while (have_posts()) : the_post(); ?>
Alles anzeigen
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:
und dann im code steht:
im ersten fall sollte das so aussehen:
$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:
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
Dank alchymyth ist das Problem nun gelöst.
Vielen Dank nochmal, du bist der Beste!
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 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.
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!