Trier la page de catégorie avec champ personnalisé
-
16-10-2019 - |
Question
Ceci est similaire à une autre question que je posais, mais je ne peux pas reconnaître comment fonctionne cette chaîne de requête de.
J'ai un champ personnalisé appelé « category_order » et je voudrais trier ma page catégorie par cet ordre (et non la date).
Voici mon code:
<?php wp_reset_query(); ?>
<div id="content">
<div id="postFuncs">
<div id="funcStyler"><a href="#" class="switch_thumb"></a></div>
<?php if (is_category()) {
$cat_ID = get_query_var('cat'); ?>
<?php echo '<h2>'; wpzoom_breadcrumbs(); echo'</h2>'; ?><?php }
elseif (!is_category() && !is_home()) { ?>
<?php echo '<h2>'; wpzoom_breadcrumbs(); echo'</h2>'; ?>
<?php }
else { ?>
<h2>Recent Videos</h2>
<?php } ?>
</div><!-- end #postFuncs -->
<div id="archive">
<?php if (have_posts()) : ?>
<ul class="posts posts-3 grid">
<?php
$i = 0;
while (have_posts()) : the_post();
$i++;
?>
La solution
J'ai ajouté le query_posts
afin que nous puissions dire Wordpress d'une requête modifiée à terme.
$query_string
nous permettent d'ajouter sur les paramètres actuels.
orderby, meta_key, order
, nous pouvons définir la requête en lui disant comment trier les résultats
Plus d'informations sur la commande par des paramètres
<?php wp_reset_query(); ?>
<div id="content">
<div id="postFuncs">
<div id="funcStyler"><a href="#" class="switch_thumb"></a></div>
<?php if (is_category()) {
$cat_ID = get_query_var('cat'); ?>
<h2><?php wpzoom_breadcrumbs(); ?></h2>
<?php } elseif (!is_category() && !is_home()) { ?>
<h2><?php wpzoom_breadcrumbs(); ?></h2>
<?php } else { ?>
<h2>Recent Videos</h2>
<?php } ?>
</div><!-- end #postFuncs -->
<div id="archive">
<?php global $query_string;
query_posts( $query_string . '&orderby=meta_value_num&meta_key=your_custom_field"&order=ASC');
if (have_posts()) : ?>
<ul class="posts posts-3 grid">
<?php $i = 0;
while (have_posts()) : the_post();
$i++;
?>
Licencié sous: CC-BY-SA avec attribution
Non affilié à wordpress.stackexchange