1

我有一个带有插件 Polylang 的多语言 Wordpress 网站,问题是当我看到其他语言的网站时,如果帖子没有翻译,则帖子不会显示。

$latest_blog_posts = new WP_Query( array( 'posts_per_page' => 15 ) );
            if ( $latest_blog_posts->have_posts() ) : while (
$latest_blog_posts->have_posts() ) : $latest_blog_posts->the_post(); ?>

我正在使用上面的代码来调用帖子,但现在我只有默认语言的帖子(只有帖子不是页面或类别或任何其他内容),当我看到默认语言的网站时一切正常,但是当我切换到另一个 - 没有帖子显示,因为没有其他语言的翻译。

谁能帮我解决这个问题。如果没有翻译,我想显示默认语言帖子。

4

2 回答 2

1

我找到了解决方案,它非常简单:) 只是在数组中添加了'lang' => ''

$latest_blog_posts = new WP_Query( array( 'posts_per_page' => 15, 'lang' => '' ) );
            if ( $latest_blog_posts->have_posts() ) : while (
$latest_blog_posts->have_posts() ) : $latest_blog_posts->the_post(); ?>
于 2018-04-02T16:18:08.377 回答
0

Polylang 具有获取默认语言的功能: pll_default_language()

如果:使用默认语言显示所有帖子,请尝试使用以下代码:

$latest_blog_posts = new WP_Query( array( 'posts_per_page' => 15 ) );
if (!$latest_blog_posts->have_posts()) {
    $latest_blog_posts = new WP_Query( array( 
        'posts_per_page' => 15, 
        'lang' => pll_default_language()
    ));
}
if ( $latest_blog_posts->have_posts() ) : 
   while ($latest_blog_posts->have_posts() ) : $latest_blog_posts->the_post(); ?>
...
于 2021-08-15T07:38:32.550 回答