首页 文章

Wordpress自定义分类和自定义帖子类型 - 不工作分页

提问于
浏览
0

我创建了一个自定义分类'厨房'形式自定义帖子类型'厨房',但分页不工作,打开页面时得到错误404 .

  • 'kitchens/built-in/2' - 没有用 .

  • 'kitchens/built-in/page/2' - 没有用 .


add_action( 'init', 'rt_create_taxonomy_kitchens', 0 );
function rt_create_taxonomy_kitchens() {
  $args = array(
    'label' => _x( 'Kitchens', 'taxonomy general name' ), 
    'labels' => array(
      ...
    ),
    'public' => true,
    'show_ui' => true,
    'show_in_menu' => true,
    'show_in_nav_menus' => true,
    'show_tagcloud' => true,
    'show_in_quick_edit' => true,
    'meta_box_cb' => null,
    'show_admin_column' => false,
    'description' => '', 
    'hierarchical' => true,
    'update_count_callback' => '',
    'query_var' => true,
    'rewrite' => array(
      'slug' => 'kitchens', 
      'with_front' => false, 
      'hierarchical' => true,
      'ep_mask' => EP_NONE,
    ),
    'sort' => null,
    '_builtin' => false,
  );
  register_taxonomy( 'kitchens', array( 'kitchen' ), $args );
}

add_action( 'init', 'rt_register_post_kitchen', 0 );
  function rt_register_post_kitchen() {
  $args = array(
    'label'  => _x( 'Kitchens', 'Post Type General Name', 'text_domain' ),
    'labels' => array(
      ...
    ),
    'description' => '',
    'public' => true,
    'exclude_from_search' => true, 
    'publicly_queryable' => true, 
    'show_ui' => true,
    'show_in_nav_menus' => true, 
    'show_in_menu' => true,
    'show_in_admin_bar' => true,
    'menu_position' => 5,
    'menu_icon' => 'dashicons-editor-textcolor',
    'map_meta_cap' => null,
    'hierarchical' => false,
    'supports' => array(
      ...
    ),
    'register_meta_box_cb' => null,
    'taxonomies' => array( 'kitchens' ),
    'has_archive' => false,
    'rewrite' => array(
      'slug' => 'kitchen',
      'with_front' => false, 
      'feeds' => false,
      'pages' => true,
    ),
    'permalink_epmask' => EP_PERMALINK,
    'query_var' => true, 
    'can_export' => true, 
    'delete_with_user' => null, 
    'show_in_rest' => false, 
    'rest_base' =>'kitchen', 
    '_builtin' => false, 
  );
  register_post_type( 'kitchen', $args );
}

add_filter( 'term_link', 'rt_taxonomy_link', 10, 3 );
function rt_taxonomy_link( $link, $term, $taxonomy ) {
  if ( $taxonomy !== 'kitchens' ) return $link;
  $pos = strpos($link, 'kitchens/');
  return $pos !== false ? substr_replace($link, '', $pos, strlen('kitchens/')) : $link;
  // return str_replace( 'kitchens/', '', $link );
}


add_action('init', 'rt_taxonomy_rewrite_rule');
function rt_taxonomy_rewrite_rule() {
  add_rewrite_rule('kitchens/?$', 'index.php?kitchens=kitchens', 'top');
}

当我尝试转到第二页时,它只显示404页面错误 . 如何添加分页,请帮忙 .

1 回答

  • 0
    $paged = ( get_query_var( 'paged' ) ) ? absint( get_query_var( 'paged' ) ) : 1;
    // WP_Query arguments
    $args = array (
        'post_type'              => 'YOUR_CUSTOM_POST_TYPE',
        'posts_per_page'         => '3',
        'paged' => $paged
    );
    // The Query
    $cquery = new WP_Query( $args );
    while ( $cquery->have_posts() ) : $cquery->the_post();
    echo $post->ID;
    endwhile;
    $big = 999999999; // need an unlikely integer
    echo paginate_links( array(
        'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
        'format' => '?paged=%#%',
        'current' => max( 1, get_query_var('paged') ),
        'total' =>  $cquery->max_num_pages
    ) );
    

相关问题