Je cherche comment garder le message présenté dans ma page d'accueil blog sans l'exclure du message de requête. Mon blog utilise le thème Twenty Fourteen. J'ai trouvé cette solution.
Ouvrez le répertoire Featured-Content.php dans le dossier inc de votre thème et recherchez le code suivant (ligne 269 dans notre cas).
$query->set( 'post__not_in', $featured );
Commentez simplement cette ligne, en ajoutant deux barres obliques devant elle, pour obtenir ceci:
// $query->set( 'post__not_in', $featured );
Mais le fichier ne contient pas cette ligne et le thème enfant ne peut pas remplacer le dossier inc du thème parent.
J'ai trouvé une autre solution et cela fonctionne, mais le problème est que ce code affiche le contenu présenté dans la publication non dans leur ordre d'origine. Lorsque l'ancien contenu publie - j'utilise post collant pour créer un post en vedette - devient en vedette, le contenu en vedette deviendra le premier ordre, puis l'autre.
J'ai essayé d'utiliser une balise conditionnelle comme celle-ci.
function show_featured_content_on_home() {
if ( !is_home() ) {
remove_action( 'pre_get_posts', array( 'Featured_Content', 'pre_get_posts' ) );
}
}
add_action( 'init', 'show_featured_content_on_home', 31 );
La deuxième page et ainsi de suite, d'accord - affiche les messages présentés dans l'ordre - mais la page d'accueil pose toujours problème.
Aucune suggestion?
Je pense que vous pouvez utiliser le WPQuery
$the_query = new WP_Query( array( 'post__in' => get_option( 'sticky_posts' )) ); ?>
<?php if ( $the_query->have_posts() ) : ?>
<!-- pagination here -->
<!-- the loop -->
<?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
<h2><?php the_title(); ?></h2>
<?php endwhile; ?>
<!-- end of the loop -->
<!-- pagination here -->
<?php wp_reset_postdata(); ?>
<?php endif; ?>
et pour commander votre article, vous pouvez utiliser commande et commandepar voir la référence https://codex.wordpress.org/Class_Reference/WP_Query