首页 文章

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

提问于
浏览
3

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

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

<?php echo genesis_posts_nav(); ?>

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

<?php echo genesis_posts_nav(); ?>

My Custom Template Code Here :

<?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 回答

  • 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

    Here is the final code :

    <?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();
    
    }
    

    ?>

    它工作得很好:)

相关问题