web-dev-qa-db-fra.com

Trier la page de catégorie avec un champ personnalisé

Ceci est similaire à une autre question que j'ai posée, mais je ne peux pas reconnaître le fonctionnement de cette chaîne de requête.

J'ai un champ personnalisé appelé "category_order" et je voudrais trier ma page de catégorie par cette commande (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++;
            ?>
1
redconservatory

J'ai ajouté le query_posts afin que nous puissions informer Wordpress d'une requête modifiée à exécuter.
$query_string nous permettra d’ajouter des paramètres courants.
orderby, meta_key, order définissons la requête en lui expliquant comment trier les résultats
Plus d'informations sur la commande par 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++;
    ?>
2
Evan Yeung