如何在页面上只显示一个类别的帖子? [WordPress]

How to show only posts from one category on page? [WordPress]

我使用视频教程创建了自己的 WordPress 主题。

在这个主题中,我创建了一个 page-ID.php,其中只应显示一个类别的帖子。

我怎样才能做到这一点?

我尝试调用类别 (ID 12) 的当前代码:

<?php 
                    
$number_of_posts = get_option('post_per_page', 10);
$paged = ( get_query_var('paged') ) ? get_query_var('paged') : 1;
$offset = ($paged - 1) * number_of_posts;
                    
$args = array(
    post_type => 'post',
    posts_per_page => '5',
    offset => $offset,
    paged => $paged,
    cat => '-12' // ID of category
);
                    
$loop2 = new WP_Query($args);
                    
if ( $loop2->have_posts() ) : while ( $loop2->have_posts() ) : $loop2->the_post();?>
                    
    <?php if (has_category()) { get_template_part('template_parts/content'); };?>
                    
<?php endwhile; else : ?>
                    
    <?php get_template_part('template_parts/content','error');?>
                    
<?php endif;?>
                            
<?php previous_posts_link('Vorherige Seite', $loop2->max_num_pages);?>
<?php next_posts_link('Nächste Seite', $loop2->max_num_pages);?>
                    
<?php wp_reset_postdata();?>

如果我像这样使用它,则会显示其他类别的帖子,例如 ID 1 和 ID 13,但不会显示定义的类别(ID 1 = 未分类;ID 12 = 最新;ID 13 = 事件)。我的目标正好相反。

你能告诉我我做错了什么吗?

您的代码中有 cat => '-12' - 即类别 ID 减去 12. 将其更改为 cat => '12'