WP_Query and polylang issue

时间:2014-11-19 作者:user2135738

在我开发的主题中,我有一个使用标准循环显示5篇文章的模板:

            <?php
          $my_query = new WP_Query(\'showposts=5\');
          while ($my_query->have_posts()) : $my_query->the_post(); ?>
等等。。。。

有一个使用此模板的页面(实现)。现在,我添加了polylang,并提供了另一个使用相同模板的页面(新闻)。博客条目将不会有英文翻译,但我仍然希望讲英语的读者被引导到新闻页面,这将是“相同的”(法语)。

我假设无论哪个页面使用模板,上面的查询都会产生相同的结果,但实际上法语页面工作正常,但在新闻中我看不到帖子。有什么想法吗?

1 个回复
SO网友:user2135738

好的,我知道了,数据库中已经存在的旧帖子没有英文翻译,这就是我循环的问题所在。当我添加新帖子时,我可以选择提供翻译,然后翻译会出现在英文页面上。

通过查看文档,我发现当没有翻译时,我也可以显示默认值,例如:

<?php query_posts(array(\'post_type\' => \'post\',\'lang\' => \'fr\')); // force querying the French posts ?>
if (have_posts()) : ?>
    <?php while (have_posts()) : the_post(); ?>
    <?php global $post;
    if($post_id = pll_get_post($post->ID, pll_current_language())) { // get translated post (in current language) if exists
        $post = get_post($post_id);
        setup_postdata($post);
    }?>
。。。在你的循环中做任何你想做的事。。。

结束

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post