Php 数字分页不出现在自定义循环中-Wordpress

Php 数字分页不出现在自定义循环中-Wordpress,php,wordpress,loops,pagination,wordpress-theming,Php,Wordpress,Loops,Pagination,Wordpress Theming,我一直在尝试将数字分页添加到按类别筛选的帖子页面。问题是当我调用它时,分页不会出现。当我使用上一个链接和下一个链接时,分页效果非常好,但这并不是我想要实现的。我错过了什么 我的过滤分类页面 <?php // Get post ID $post_type = get_post_type( $post->ID ); // Get category ID $category_id = get_cat_ID(single_cat_title('', false)); // Wordp

我一直在尝试将数字分页添加到按类别筛选的帖子页面。问题是当我调用它时,分页不会出现。当我使用上一个链接和下一个链接时,分页效果非常好,但这并不是我想要实现的。我错过了什么

我的过滤分类页面

<?php
// Get post ID


$post_type = get_post_type( $post->ID );

// Get category ID
$category_id = get_cat_ID(single_cat_title('', false));

// Wordpress pagination
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;

// WP_Query arguments
$args_news = array (
    'post_type'             => array( 'post' ),
    'pagination'            => true,
    'posts_per_page'        => '2',
    'orderby'               => 'date',
    'paged'                 => $paged,
    'cat'                   => $category_id,
    
);

// The Query
$query = new WP_Query( $args_news );

// The Loop
if ( $query->have_posts() ) {
    while ( $query->have_posts() ) {
        
        $query->the_post(); ?>
        
     <?php get_template_part('categorytwo',get_post_format()); ?>
<?php }

} else { 
    // no news found
}
?>

<div class="pagination">
    <?php my_pagination(); ?>
    </div>

<?php
// Reset postdata
wp_reset_postdata();

?>
This pagination function works fine on my index.php page when I call it out.

<?php
if ( get_query_var('paged') ) { $paged = get_query_var('paged'); }
elseif ( get_query_var('page') ) { $paged = get_query_var('page'); }
else { $paged = 1; }

query_posts(array(
    'post_type'      => 'post', // You can add a custom post type if you like
    'paged'          => $paged,
    'posts_per_page' => 4
));

if ( have_posts() ) : ?>

<?php while ( have_posts() ) : the_post(); ?>

    <?php get_template_part('catalog',get_post_format()); ?>

<?php endwhile; ?>


<div class="pagination">
    <?php my_pagination(); ?>
    </div>

<?php else : ?>

    <?php // no posts found message goes here ?>
<?php wp_reset_query(); // add this ?>
<?php endif; ?>
当我在index.php页面上调用它时,效果很好

<?php
if ( get_query_var('paged') ) { $paged = get_query_var('paged'); }
elseif ( get_query_var('page') ) { $paged = get_query_var('page'); }
else { $paged = 1; }

query_posts(array(
    'post_type'      => 'post', // You can add a custom post type if you like
    'paged'          => $paged,
    'posts_per_page' => 4
));

if ( have_posts() ) : ?>

<?php while ( have_posts() ) : the_post(); ?>

    <?php get_template_part('catalog',get_post_format()); ?>

<?php endwhile; ?>


<div class="pagination">
    <?php my_pagination(); ?>
    </div>

<?php else : ?>

    <?php // no posts found message goes here ?>
<?php wp_reset_query(); // add this ?>
<?php endif; ?>

在循环中使用此代码:

<div class="posts_blog">
    <?php
    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
    $args = array(
        'post_type' => 'post', // Your post type name
        'posts_per_page' => 5,
        'paged' => $paged,
    );
    $loop = new WP_Query($args);
    if ($loop->have_posts()) {
        while ($loop->have_posts()) : $loop->the_post();
            ?>
     
          <div class="posts_container ">
             // Posts format: <?php get_template_part('catalog',get_post_format()); ?>
          </div>
    
         <?php
        endwhile;
        $total_pages = $loop->max_num_pages;
        if ($total_pages > 1) {
            ?>
            <div class="pagination">
                <?php
                $current_page = max(1, get_query_var('paged'));
    
                echo paginate_links(array(
                    'base' => get_pagenum_link(1) . '%_%'.'/#posts-blog',
                    'format' => '/page/%#%',
                    'current' => $current_page,
                    'total' => $total_pages,
                    'prev_text' => __('<'),
                    'next_text' => __('>'),
                ));
                ?>
            </div>
            <?php
        }
    }
    wp_reset_postdata();
    
    if (function_exists("pagination")) {
        pagination($wp_query->max_num_pages);
    }
    ?>
    
    </div>

//帖子格式:

是否在您的第一次查询中,您要求每页仅发布2篇
帖子
?否无论在我的筛选类别页面上显示什么,分页都不会显示。分页正在使用此选项是,但问题是它不再使用类别进行筛选。如果我选择了一个特定的类别,那么它会显示博客中的所有帖子。
<div class="posts_blog">
    <?php
    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
    $args = array(
        'post_type' => 'post', // Your post type name
        'posts_per_page' => 5,
        'paged' => $paged,
    );
    $loop = new WP_Query($args);
    if ($loop->have_posts()) {
        while ($loop->have_posts()) : $loop->the_post();
            ?>
     
          <div class="posts_container ">
             // Posts format: <?php get_template_part('catalog',get_post_format()); ?>
          </div>
    
         <?php
        endwhile;
        $total_pages = $loop->max_num_pages;
        if ($total_pages > 1) {
            ?>
            <div class="pagination">
                <?php
                $current_page = max(1, get_query_var('paged'));
    
                echo paginate_links(array(
                    'base' => get_pagenum_link(1) . '%_%'.'/#posts-blog',
                    'format' => '/page/%#%',
                    'current' => $current_page,
                    'total' => $total_pages,
                    'prev_text' => __('<'),
                    'next_text' => __('>'),
                ));
                ?>
            </div>
            <?php
        }
    }
    wp_reset_postdata();
    
    if (function_exists("pagination")) {
        pagination($wp_query->max_num_pages);
    }
    ?>
    
    </div>