创世纪儿童主题的自定义帖子类型分页

时间:2014-09-06 06:24:33

标签: php wordpress pagination custom-post-type genesis

是否有可能在Genesis子主题中实现自定义帖子类型的分页,我使用的是Genesis:2.0.2,Wordpress版本是:4.0。

我在我的模板中尝试了以下代码,但它对我不起作用。

<?php echo genesis_posts_nav(); ?>

在我的创世子主题中,我的正常分类也不适合我。

<?php echo genesis_posts_nav(); ?>

我的自定义模板代码:

<?php 

remove_action( 'genesis_loop', 'genesis_do_loop' );

add_action( 'genesis_loop', 'sk_do_loop' );

function sk_do_loop(){

$args_spotlight_latest = array('posts_per_page' => 5,'post_type' => 'spotlight', 'post_status'=>'publish','meta_key' => 'featured_slider','meta_value' => 'true');
$spotlight_posts_latest = new WP_Query($args_spotlight_latest);

/** Content Area **/

if($spotlight_posts_latest->have_posts()){

    while($spotlight_posts_latest->have_posts()){
    $spotlight_posts_latest->the_post();                        
    $feat_image = wp_get_attachment_url(get_post_thumbnail_id());   

    ..............
    ..............
    ..............
   }

}

genesis_posts_nav();

}

?>

任何人都可以帮助我。

提前致谢。

2 个答案:

答案 0 :(得分:2)

使用此代码,它确实有效,静态页面问题

remove_action( 'genesis_loop', 'genesis_do_loop' );

add_action( 'genesis_loop', 'sk_do_loop' );

function sk_do_loop(){
$paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1;
$args_spotlight_latest = array('posts_per_page' => 5,'post_type' => 'spotlight', 'paged' => $paged);
$spotlight_posts_latest = new WP_Query($args_spotlight_latest);

/** Content Area **/

if($spotlight_posts_latest->have_posts()){

    while($spotlight_posts_latest->have_posts()){
    $spotlight_posts_latest->the_post(); 


    echo "<h1>".the_title()."</h1>";
    the_content();

   }
   previous_posts_link( '« Newer' ); 
 next_posts_link( 'Older »', $spotlight_posts_latest->max_num_pages ); 

}


}

答案 1 :(得分:1)

以下是最终代码:

<?php

remove_action( 'genesis_loop', 'genesis_do_loop' );

add_action( 'genesis_loop', 'sk_do_loop' );

function sk_do_loop(){

global $wp_query;
$temp_query = $wp_query;

// Fix for the WordPress 3.0 "paged" bug.
$paged = 1;
if ( get_query_var( 'paged' ) ) { $paged = get_query_var( 'paged' ); }
if ( get_query_var( 'page' ) ) { $paged = get_query_var( 'page' ); }
$paged = intval( $paged );

$args_spotlight_latest = array('posts_per_page' => 5,'post_type' => 'spotlight', 'post_status'=>'publish','meta_key' => 'featured_slider','meta_value' => 'true', 'paged' => $paged);
$spotlight_posts_latest = new WP_Query($args_spotlight_latest);
$wp_query = $spotlight_posts_latest;
/** Content Area **/

if($spotlight_posts_latest->have_posts()){

    while($spotlight_posts_latest->have_posts()){
    $spotlight_posts_latest->the_post();                        
    $feat_image = wp_get_attachment_url(get_post_thumbnail_id());   

    ..............
    ..............
    ..............
   }

}

genesis_posts_nav();

wp_reset_query();

}

&GT;

它工作得很好:))