在首页上显示自定义帖子

时间:2017-02-27 12:31:40

标签: php wordpress custom-post-type categories frontpage

我已在首页上为帖子设置了一个特殊类别:http://aquadiva.it/en/

但有些人不会表现出来。应该有四个。

我怀疑问题在于四个帖子中有两个是自定义帖子。该类别本身有效,因为如果我搜索类别,它给出的是这四个帖子:http://aquadiva.it/en/category/frontpage/ 而在头版我只有属于"常规"帖子(文章)而不是自定义帖子(产品)。

这是我的内容-frontpage.php:

<?php

$nirvanas = nirvana_get_theme_options();
foreach ($nirvanas as $key => $value) { ${"$key"} = $value; } ?>

    <section id="container" class="one-column <?php //echo nirvana_get_layout_class(); ?>">

        <div id="content" role="main">

        <?php //cryout_before_content_hook();

        $nirvana_old_posts_per_page = get_option( 'posts_per_page' );

        if ( have_posts() ) :

            /* Start the Loop */
            update_option( 'posts_per_page', $nirvanas['nirvana_frontpostscount']);

            $paged = ( get_query_var('paged') ) ? get_query_var('paged') : 1;
            $the_query = new WP_Query( array('posts_per_page'=>$nirvanas['nirvana_frontpostscount'],'paged'=> $paged) ); 
            while ( $the_query->have_posts() ) : $the_query->the_post(); 

                global $more; $more=0; 
                get_template_part( 'content/content', get_post_format() );

            endwhile;

            if($nirvana_pagination=="Enable") nirvana_pagination($the_query->max_num_pages); else nirvana_content_nav( 'nav-below' );

        else : ?>

            <article id="post-0" class="post no-results not-found">
                <header class="entry-header">
                    <h1 class="entry-title"><?php _e( 'No Posts to Display', 'nirvana' ); ?></h1>
                </header><!-- .entry-header -->

                <div class="entry-content">
                    <p><?php printf(
                        __( 'You currently have no published posts. To hide this message either <a href="%s">add some posts</a> or disable displaying posts on the Presentation Page in <a href="%s">theme settings</a>.', 'nirvana' ),
                        esc_url( admin_url()."post-new.php"),
                        esc_url( admin_url()."themes.php?page=nirvana-page") ); ?>
                    </p>
                </div><!-- .entry-content -->
            </article><!-- #post-0 -->

        <?php
        endif;
        update_option( 'posts_per_page', $nirvana_old_posts_per_page);
        //cryout_after_content_hook();
        ?>

        </div><!-- #content -->
    <?php //nirvana_get_sidebar(); ?>
    </section><!-- #container -->

我该怎么办?

1 个答案:

答案 0 :(得分:0)

兑换这个:

$the_query = new WP_Query( array('posts_per_page'=>$nirvanas['nirvana_frontpostscount'],'paged'=> $paged) ); 

用这个:

    $the_query = new WP_Query( array('posts_per_page'=>$nirvanas['nirvana_frontpostscount'],'paged'=> $paged, 'category_name'=>'frontpage', 'post_type' => array('post','product')) ); 

如果有效,请告诉我。如果没有,请告诉我您的自定义帖子类型的名称是什么。