自定义帖子未显示在存档页面中

时间:2015-08-19 13:08:56

标签: php wordpress

我目前有自定义帖子类型的剧集,其中包含播客分类。当我在我的存档页面上运行以下循环时,我发现我有149个帖子

<?php          
    $args2 = array(
            'posts_per_page' => 1000,
            'post_type' => 'episode',
            'podcast' => 'my-episodes',
            'post_status' => 'publish'
            );
        $posts = get_posts($args2); 
        $count = count($posts); 
        echo $count; 
?>

但是,当我在archive.php文件中运行这个循环变体时(从wordpress.org页面复制),我只收到130个帖子

 <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
    <h2><a href="<?php the_permalink(); ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2>
    <small><?php the_time('F jS, Y'); ?> by <?php the_author_posts_link(); ?></small>

    <div class="entry">
        <?php the_content(); ?>
    </div>

    <p class="postmetadata"><?php _e( 'Posted in' ); ?> <?php the_category( ', ' ); ?></p>

 <?php endwhile; else : ?>
    <p><?php _e( 'Sorry, no posts matched your criteria.' ); ?></p>
 <?php endif; ?>

循环说我最近的参赛作品来自第5名,但是过去几天我一直在定期创建帖子。是否有任何测试我可以查看为什么最近的帖子没有显示在存档页面上?

2 个答案:

答案 0 :(得分:1)

您的代码似乎是正确的。仔细检查发布的帖子是否已发布,而不是设置为草稿/已保存。还要检查您的自定义分类和帖子类型是否适合您正在运行的查询。

答案 1 :(得分:0)

根据Tom的推荐,在查看网站的仪表板后,我能够找到

  • 该网站有一个名为WPML的插件已激活。这允许网站以多种语言创建内容。
  • 当插件最初被激活时,它会询问网站的母语并将其应用于现有的帖子和自定义帖子。这样,如果你在网站的englsih版本上,你会看到内容ABC,而在西班牙语版本上你会看到内容XYZ。
  • 自定义帖子中有一个单独的部分,允许您使所述自定义帖子可翻译。 如果未选中此项,则您的自定义帖子将不会显示在任何版本的网站上。原因(至少在我的5分钟研究中)是因为没有指定语言,它将会不加载特定语言版本的网站

我已经做了两件事来解决这个问题:

  1. 我添加了使自定义帖子可翻译的功能,
  2. 有一个设置可以让您显示未在任何版本的网站上翻译的所有内容,而不是显示任何内容
  3. 谢谢大家的帮助。