web-dev-qa-db-fra.com

Comment commander une boucle category.php par 'meta_value'?

J'ai donc une boucle de base sur category.php qui affiche toutes les publications de la catégorie spécifique, comme ceci:

<?php if (have_posts()) :
    while(have_posts()): the_post();
?>
    <a href="<?php the_permalink(); ?>">
        <div>
            <h3><?php echo the_title();?></h3>
            <p><?php echo the_content(); ?></p>
        </div>
    </a>
<?php
    endwhile;
endif;
?>

J'ai une autre boucle sur une autre page qui affiche les messages les plus aimés (messages dans l'ordre du nombre de leurs goûts). Cette boucle est:

    <?php 
    $query_args  = array(
    'post_type' => 'post',
    'posts_per_page' => 2,
    'orderby' => 'meta_value',
    'order' => 'DESC',
    'meta_query' => array(
        'relation' => 'OR',
         array(
            'key' => 'Likes',
            'compare' => 'NOT EXISTS',
            'type' => 'numeric'
         ),
         array(
            'key' => 'Likes',
            'compare' => 'EXISTS',
            'type' => 'numeric'
         )
    )
);
$loop = new WP_Query($query_args);
if ($loop->have_posts()):
    while($loop->have_posts()):
        $loop->the_post();
?>
        <a href="<?php the_permalink(); ?>">
            <div>
                <h3><?php echo the_title();?></h3>
                <p><?php echo the_content(); ?></p>
            </div>
        </a>
<?php
    endwhile;
endif;
?>

Alors maintenant, je veux une autre boucle dans category.php qui affiche les publications de la catégorie spécifique en fonction du nombre de "j'aime" ou, en d'autres termes, les publications populaires de cette catégorie. Comment puis-je combiner ces deux boucles pour y parvenir? Toute aide sera grandement appréciée.

À votre santé.

3
sadmansh

Vous aurez d’abord besoin de la limace de la catégorie actuelle:

  $cat = get_query_var('cat');
  $currentcat = get_category ($cat);

Ensuite, vous pouvez utiliser la même boucle. Ajoutez simplement ce qui suit à $query_args pour limiter le résultat à la catégorie actuelle:

'category_name' => $currentcat->slug,
1
cjbj