使用Polylang按分类显示1个帖子

时间:2014-08-22 作者:Björn Damm

我正在尝试创建一个循环,在每个分类法的第一篇文章中显示我的所有分类法。这是分类法"customers" 我想显示客户的每个第一个投资组合CPT。

我有polylang 安装了英语和德语,所有功能都正常工作,而不是此循环。

这个循环是可行的,但这个项目总是让我得到英文帖子。不管是哪种语言。

这是一个粘贴箱,只是为了明确客户税是"kunden" 自定义帖子类型为"portfolio". 这个"kunden"-税务不是翻译的,两种语言使用相同的语言。这个"portfolio"-cpt已翻译。

<?php get_header() ?>

<div class="row" id="main">
        <div class="large-12 columns">
                <ul class="small-block-grid-3 large-block-grid-6">
                <?php

                $lang = pll_current_language();

                $terms = get_terms( \'kunden\' );

                foreach( $terms as $term ) :

                        $args = array(
                                \'post_type\' => \'portfolio\',
                                \'kunden\' => $term->slug,
                                \'posts_per_page\' => 1,
                                \'lang\' => $lang,
                        );
                        $single = new WP_Query( $args ); ?>
                        <?php if ($single->have_posts()) { ?>

                        <?php while ($single->have_posts()) : $single->the_post(); ?>

                        <?php get_template_part(\'project-thumb\'); ?>

                        <?php endwhile; ?>

                        <?php } ?>
                <?php endforeach; ?>
                </ul>
        </div>


</div>


<?php get_footer() ?>
如果我改变post_per_page => 2 德国邮政是继英国邮政之后的第二家邮政公司。所以这两种语言都会一个接一个地显示出来。

1 个回复
SO网友:Björn Damm

我终于想出了一个解决办法。我想这不是完美的,因为所有的帖子都是循环的,错误的语言不会显示出来,但现在它起作用了。我仍然对想法持开放态度。

我现在的想法是获取帖子的语言,如果它与页面语言不匹配,就不要显示它。

这是新的部分。

global $polylang;
$postlang = $polylang->get_post_language(get_the_ID())->slug;

if ($postlang == $lang) {
    get_template_part(\'project-thumb\');
}
完整的代码现在看起来像这样,并且对我有效。

<?php get_header() ?>

<div class="row" id="main">
    <div class="large-12 columns">
        <ul class="small-block-grid-3 large-block-grid-6">
        <?php
        global $polylang;
        $lang = pll_current_language();

        $terms = get_terms( \'kunden\' );

        foreach( $terms as $term ) :

            $args = array(
                \'post_type\' => \'portfolio\',
                \'kunden\' => $term->slug,
                \'posts_per_page\' => 2,
                \'lang\' => $lang,
            );
            $single = new WP_Query( $args ); ?>
            <?php if ($single->have_posts()) { ?> 

            <?php while ($single->have_posts()) : $single->the_post(); ?>

            <?php $postlang = $polylang->get_post_language(get_the_ID())->slug; ?>

            <?php if ($postlang == $lang) {
                get_template_part(\'project-thumb\');
            } ?>


            <?php endwhile; ?>

            <?php } ?>
        <?php endforeach; ?>
        </ul>
    </div>


</div>


<?php get_footer() ?>

结束

相关推荐

Post taxonomy from exif data

每当我发布带有特色图像的帖子时,我都想从该图像中提取exif数据,并将其作为分类的术语附加。我已经有了一个插件,可以提取相关信息,但我不知道何时何地调用wp_set_object_terms有人能给我指出正确的方向吗?