0

我创建了一个自定义分类“厨房”表单自定义帖子类型“厨房”,但分页不起作用,打开页面时出现错误 404。

  • '厨房/内置/2' - 不工作。
  • “厨房/内置/页面/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 页面错误。我如何添加分页,请帮助。

4

1 回答 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
) );
于 2018-12-10T09:07:46.003 回答