【问题标题】:Custom Taxonomy Pagination show 404 from page 2自定义分类法分页从第 2 页显示 404
【发布时间】:2020-03-25 14:33:33
【问题描述】:

我在我的网站上添加了分页代码(https://www.wpblog.com/use-wp_query-to-create-pagination/)。此代码在我的页面模板中运行良好。但是当我在我的自定义分类模板中进行相同的编码时,它无法从第 2 页开始工作。它进入错误页面。请帮忙。

taxonomy-somename.php 的代码在这里

    <?php
/**
 * The template for displaying archive pages.
 *
 * Learn more: http://codex.wordpress.org/Template_Hierarchy
 *
 * @package Sydney
 */

get_header();
?>


    <div id="primary" class="content-area col-md-9">

        <main id="main" class="post-wrap" role="main">

<ul id="service-list">
<?php
$term = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) );
$paged = (get_query_var( 'page' )) ? get_query_var( 'page' ) : 1;
$aud_query = new WP_Query(
  array(
    'post_type' => 'attachment',
    'post_status' => 'inherit',
    //'post_mime_type' => 'image',
    'post_mime_type' => 'audio',
    'posts_per_page' => 2,
    'paged'          => $paged,
    'post_parent__in' => $query->posts,
    'order' => 'DESC',
    'tax_query' => array(
        array(
            'taxonomy' => 'mymusic',
            'field'    => 'slug',
            'terms'    => $term->slug,
        ),
    ),
    )
);
?>
          <!----start-------->
<?php  if( $aud_query->have_posts() ) : ?>
<?php while($aud_query->have_posts()) :  $aud_query->the_post(); ?>
<?php echo
get_the_title($attach_id);
echo '<br>';
?>
<?php endwhile ?>
        <?php
        if (function_exists("pagination")) {
          pagination($aud_query->max_num_pages);
      }
        ?>           
        <?php else :?>
        <h3><?php _e('404 Error: Not Found', ''); ?></h3>

    <?php endif; wp_reset_postdata();?>


</ul><!-- #service-list -->
        </main><!-- #main -->
    </div><!-- #primary -->


<?php get_footer(); ?>

【问题讨论】:

标签: php wordpress pagination custom-taxonomy


【解决方案1】:

我自己从这个链接Wordpress - Custom Taxonomy Pagination找到了解决方案 在functions.php中添加此代码并重新生成永久链接。

function taxonomy_rewrite_fix($wp_rewrite) {
    $r = array();
    foreach($wp_rewrite->rules as $k=>$v){
        $r[$k] = str_replace('catalog=$matches[1]&paged=','catalog=$matches[1]&page=',$v);
    }
    $wp_rewrite->rules = $r;
}
add_filter('generate_rewrite_rules', 'taxonomy_rewrite_fix');

【讨论】:

    猜你喜欢
    • 2017-07-20
    • 2014-07-12
    • 1970-01-01
    • 1970-01-01
    • 2012-01-06
    • 2014-07-29
    • 2018-06-22
    • 2012-06-21
    • 1970-01-01
    相关资源
    最近更新 更多