– Update: 3 januari 2023 –
Met de WordPress-functie “Sticky Post” kan je per Bericht kiezen of het op de homepage komt. Zelfs als het een oud bericht is. Normaliter komen er op de homepage alleen nieuwe Berichten. Een Post (Bericht) kan je Sticky maken met het betreffende vinkje bij Publiceren > Openbaar. Dat heeft wel een nadeel: zo’n Sticky Post wordt dan DUBBEL vertoond, namelijk ook op de pagina waar hij oorspronkelijk stond. Zo’n rare dubbeling is storend. Gelukkig kan je simpel alle dubbele Sticky Posts verwijderen, met dit script:
Plak onderstaande PHP-code in Functions.php. Die staat bij Weergave > Thema editor. De plek waar je het daar inplakt maakt niet uit. Ik zou het aan het begin, of juist aan het eind doen, want je kan het natuurlijk niet midden in een ander commando plakken.
add_action( 'pre_get_posts', function( $q ) { if ( $q->is_home() && $q->is_main_query() && $q->get( 'paged' ) > 1 ) $q->set( 'post__not_in', get_option( 'sticky_posts' ) ); } );
Met dit script worden Sticky Posts verwijderd uit vervolgpagina’s. Ze komen er dan nooit dubbel in, want ze staan sowieso al op de eerste pagina (de Homepage).
Ik heb het hier ook aangezet. Zo heb ik toch weer een betere website! In een minuutje. Ik ben blij.
Dit script heeft wel een nadeel: als je een item later weer NIET sticky maakt, dan is het overal weg.
Ik vond de oplossing pas na lang zoeken, hier op StackExchage.com. Daar maakte ik een vertaling van en een uitleg. Dat is deze blog.
Zie ook meer berichten waar WordPress in voorkomt.