Je rencontre un problème avec une requête personnalisée pour l'affichage de mes publications et je n'ai aucune chance sur le forum Wordpress ni sur le forum de plug-in que j'ai utilisé pour créer le type de publication personnalisée.
Voici un aperçu ...
J'ai un type de message personnalisé "Entreprise" Business CPT a deux taxonomies personnalisées - "Type d'entreprise" et "Comté"
J'ai utilisé le plug-in WP Types pour créer le type de message personnalisé et créer un champ personnalisé appelé "En vedette" à l'aide d'une case à cocher située dans la zone d'administration.
Cette case, si elle est sélectionnée, marque une entrée particulière comme "VEDETTE"
J'utilise un plugin appelé Search & Filter qui permet à un utilisateur de choisir un "type d'entreprise" dans le "comté", par exemple - Louer de la voiture à Londres
Ceci lance ensuite mon template search.php avec une requête qui DEVRAIT ...
Alors
AFFAIRES EN VEDETTE
Daves Car
Entreprises restantes
Voitures ABC
123 voitures
etc.
En ce moment, Location de voitures compte 5 entreprises présentées. Ma requête les retire tous mais pas tous au sommet. Il suffit de les ajouter dans la liste alphabétique avec les listes d'entreprises régulières.
Cela me rend fou et j'espère que quelqu'un de bien supérieur à moi à PHP et Wordpress peuvent m'aider à résoudre ce problème.
Voici la requête que j'utilise actuellement
<?php
if (have_posts()): while (have_posts()) : the_post();
$checked_meta = get_post_meta( $post->ID, 'wpcf-featured', true );
if( $checked_meta ) { ?>
<article>
<!--FEATURED BUSINESSES DISPLAY FIRST-->
</article>
<?php } endwhile; ?>
<?php endif; ?>
<?php wp_reset_postdata();?>
<hr class="bottom-padding" />
<?php
$posts = query_posts($query_string . '&orderby=title&order=asc');
if (have_posts()) : while (have_posts()) : the_post();?>
<article class="row business-index" id="post-<?php the_ID(); ?>">
<!--Normal Business Listings-->
</article>
<?php endwhile; ?>
<?php endif; ?>
Tout ce que je veux faire, c'est afficher toutes les entreprises "sélectionnées" pour cette recherche particulière en premier, puis afficher les listes restantes.
Je suis au bout d'un très court morceau de corde avec ça maintenant. J'espère que quelqu'un pourra me sauver la tête. hahaha
Merci
Dan
Comme @ jdm2112 l'a impliqué, WP_Query pour votre deuxième affichage est préféré à query_posts. Essayez également d'utiliser WP Query pour votre premier affichage.
Cela ressemblerait à quelque chose comme:
<?php $args = array(
'post_type' => 'cars', // or whatevr the custom post type is
'post_status' => 'publish',
'meta_query' => array(
array(
'key' => 'wpcf-featured',
'value' => true, // perhaps "true" instead?
'compare' => '=' // or "LIKE"
),
);
$cars_query = new WP_Query( $args );
if ( $cars_query->have_posts() ) : while ( $cars_query->have_posts() ) : $cars_query->the_post(); ?>
<article></article>
<?php endwhile; ?>
<?php else: ?>
<?php endif; wp_reset_query(); ?>