分页不适用于taxonomy.php。这是我的注册自定义帖子类型和分类法的代码
add_action('init', 'ep_add_equipment');
function ep_add_equipment()
{
$labels = array(
'name' => _x('Equipments', 'post type general name', 'epanel'),
'singular_name' => _x('Equipments', 'post type singular name', 'epanel'),
'add_new' => _x('Add New Equipment', 'slide', 'epanel'),
'add_new_item' => __('Add New Equipment', 'epanel'),
'edit_item' => __('Edit Equipment', 'epanel'),
'new_item' => __('New Equipment', 'epanel'),
'view_item' => __('View Equipments', 'epanel'),
'search_items' => __('Search Equipments', 'epanel'),
'not_found' => __('No Equipments found', 'epanel'),
'not_found_in_trash' => __('No Equipments found in Trash', 'epanel'),
'parent_item_colon' => ''
);
$args = array(
'labels' => $labels,
'public' => true,
'publicly_queryable' => true,
'show_ui' => true,
'query_var' => true,
'rewrite' => array('slug' => 'products'),
'capability_type' => 'post',
'exclude_from_search' => true,
'hierarchical' => true,
'menu_icon' => get_template_directory_uri() .'/images/equipment.png',
'menu_position' => 5,
'can_export' => true,
'supports' => array('title','editor','thumbnail', 'comments','page-attributes','excerpt'/*,'author','excerpt'*/),
);
register_post_type('equipment',$args);
register_taxonomy('equipments', 'equipment', array('hierarchical' => true, 'show_in_nav_menus' => true, 'show_ui' => true,
'query_var' => true, 'labels' => array('name' => __( 'Equipments Categories' ), 'singular_label' => __('Category'), 'add_new_item' => __( 'Add New Category' ), 'search_items' => __( 'Search Categories' )), 'rewrite' => array('slug' => 'equipments')));
}
function add_menu_admin_bar() {
global $wp_admin_bar;
if ( !is_super_admin() || !is_admin_bar_showing() )
exit;
// $wp_admin_bar->add_menu( array( 'id' => 'theme_options', 'title' =>__( 'E-Panel', 'epanel' ), 'href' => admin_url('admin.php')."?page=epanel_settings" ) );
$wp_admin_bar->add_menu( array( 'id' => 'equipment', 'title' =>__( 'Equipments', 'epanel' ), 'href' => admin_url('edit.php')."?post_type=equipment" ) );
$wp_admin_bar->add_menu( array( 'parent' => 'equipment', 'title' =>__( 'Add New Equipment', 'epanel' ), 'href' => admin_url('post-new.php')."?post_type=equipment" ) );
$wp_admin_bar->add_menu( array( 'parent' => 'equipment', 'title' =>__( 'Equipment Categories', 'epanel' ), 'href' => admin_url('edit-tags.php')."?taxonomy=equipment_categories&post_type=equipment" ) );
}
add_action( 'admin_bar_menu', 'add_menu_admin_bar' , 70);
taxonomy.php的循环代码
<?php
$term = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) );
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args=array(
'taxonomy' => $term->taxonomy,
'term' => $term->slug,
'post_type' => 'equipment',
'paged'=> $paged,
/*'posts_per_page' => 10,*/
'caller_get_posts'=> 1
);
?>
<?php query_posts( $args ); ?>
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
答案 0 :(得分:5)
您可能需要启用搜索才能启用分页
在声明自定义分类时,您应禁用搜索排除。
exclude_from_search =&gt;假
这解决了我的问题。我很难找到这个解决方案。希望这有助于每个人。
我的代码是:
register_post_type( 'lifestyle',
array(
'label' => __('Lifestyle', 'tmi'),
'public' => true,
'show_ui' => true,
'show_in_nav_menus' => true,
'rewrite' => true,
'hierarchical' => true,
'menu_position' => 5,
'exclude_from_search' =>false,
'supports' => array(
'title',
'editor',
'thumbnail',
'excerpt',
'revisions')
)
);
register_taxonomy('lifestylecat', __('lifestyle', 'tmi'),array('hierarchical' => true, 'label' => __('Categories', 'tmi'), 'singular_name' => __('Category', 'tmi'))
);
答案 1 :(得分:1)
// get the global query object
global $wp_query;
// get the correct page var
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
// create the page argument
$args= array('paged'=> $paged);
// merge the page argument array with the original query array
$args = array_merge( $wp_query->query, array( 'post_type' => 'equipment' ) );
// Re-run the query with the new arguments
query_posts( $args );