it-swarm.com.de

Wie bestelle ich eine category.php-Schleife nach 'meta_value'?

Ich habe also eine grundlegende Schleife in category.php, in der alle Beiträge der jeweiligen Kategorie wie folgt angezeigt werden:

<?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;
?>

Ich habe eine weitere Schleife auf einer anderen Seite, auf der die beliebtesten Posts angezeigt werden (Posts in der Reihenfolge der Anzahl ihrer Likes). Diese Schleife ist:

    <?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;
?>

Nun möchte ich eine weitere Schleife in category.php, die Beiträge aus der jeweiligen Kategorie basierend auf der Anzahl der Likes oder mit anderen Worten, der beliebtesten Beiträge aus dieser Kategorie anzeigt. Wie kombiniere ich diese beiden Schleifen, um dies zu erreichen? Jede Hilfe wird sehr geschätzt.

Prost.

3
sadmansh

Zuerst benötigen Sie die Schnecke der aktuellen Kategorie:

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

Dann können Sie dieselbe Schleife verwenden. Fügen Sie einfach Folgendes zu $query_args hinzu, um das Ergebnis auf die aktuelle Kategorie zu beschränken:

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