WordPress中不寻常的自定义帖子类型分页问题?

时间:2013-11-15 04:51:08

标签: php wordpress pagination custom-post-type

我整晚都在阅读和搜索。我以前遇到过CPT分页的问题,但这个问题真的让我发疯了。我将我正在构建的网站上传到http://koovay.com/Kingship/。 目前版本3.7.1。我原来的代码是:

<?php 
$temp = $wp_query; 
$wp_query = null; 
$wp_query = new WP_Query();
$wp_query->query('showposts=20&post_type=portfolio'.'&paged='.$paged); ?>

<?php while ($wp_query->have_posts()) : $wp_query->the_post(); 
$featuredImage = wp_get_attachment_url( get_post_thumbnail_id($post->ID) );
$permalink = get_permalink( $id );
?>

- 循环内容 -

<?php endwhile; ?>

<nav class="paged text-center">
<?php previous_posts_link('&laquo; Newer') ?>
<?php next_posts_link('Older &raquo;') ?>
</nav>

<?php 
$wp_query = null; 
$wp_query = $temp;  // Reset
?>

我正在使用自定义帖子类型UI并创建我的CPT:

add_action('init', 'cptui_register_my_cpt_portfolio');
function cptui_register_my_cpt_portfolio() {
register_post_type('portfolio', array(
'label' => 'Portfolio',
'description' => 'Your portfolio for showcasing yo bitch ass work!',
'public' => true,
'show_ui' => true,
'show_in_menu' => true,
'capability_type' => 'post',
'map_meta_cap' => true,
'hierarchical' => false,
'rewrite' => array('slug' => 'works', 'with_front' => 1),
'query_var' => true,
'has_archive' => true,
'menu_position' => '5',
'supports' => array('title','editor','thumbnail'),
'taxonomies' => array('category'),
'labels' => array (
'name' => 'Portfolio',
'singular_name' => 'Work',
'menu_name' => 'Portfolio',
'add_new' => 'Add Work',
'add_new_item' => 'Add New Work',
'edit' => 'Edit',
'edit_item' => 'Edit Work',
'new_item' => 'New Work',
'view' => 'View Work',
'view_item' => 'View Work',
'search_items' => 'Search Portfolio',
'not_found' => 'No Portfolio Found',
'not_found_in_trash' => 'No Portfolio Found in Trash',
'parent' => 'Parent Work',
)
) ); }

我读了一篇关于将重写名称更改为CPT名称以外的内容的帖子,因此我将其更改为“work”。

但是这引发了404.我尝试了几个alt。我可以发布运行循环和分页的版本。

老实说,我真的希望有人能给我一些帮助。快要疯了... 谢谢!

1 个答案:

答案 0 :(得分:0)

我使用GenerateWP创建了以下代码。它应该工作。

if ( ! function_exists('Portfolio') ) {

function Portfolio(){

$labels = array(
    'name'                => 'Portfolio Items',
    'singular_name'       => 'Portfolio',
    'menu_name'           => 'Portfolio ',
    'parent_item_colon'   => 'Parent Portfolio ',
    'all_items'           => 'All Portfolio ',
    'view_item'           => 'View Portfolio ',
    'add_new_item'        => 'Add New Portfolio ',
    'add_new'             => 'New Portfolio ',
    'edit_item'           => 'Edit Portfolio ',
    'update_item'         => 'Update Portfolio ',
    'search_items'        => 'Search Portfolio ',
    'not_found'           => 'No Portfolio Items FOund',
    'not_found_in_trash'  => 'No products found in Trash',
);
$args = array(
    'label'               => 'portfolio ',
    'description'         => 'portfolio ',
    'labels'              => $labels,
    'supports'            => array( 'title', 'editor', 'excerpt', 'author', 'thumbnail', 'comments', 'trackbacks', 'revisions', 'custom-fields', 'page-attributes', 'post-formats', ),
    'hierarchical'        => false,
    'public'              => true,
    'show_ui'             => true,
    'show_in_menu'        => true,
    'show_in_nav_menus'   => true,
    'show_in_admin_bar'   => true,
    'menu_position'       => 5,
    'menu_icon'           => '',
    'can_export'          => true,
    'has_archive'         => true,
    'exclude_from_search' => false,
    'publicly_queryable'  => true,
    'capability_type'     => 'page',
);
register_post_type( 'portfolio ', $args );

}

//加入'init'动作 add_action('init','Portfolio',0);

}