我有一个Wordpress网站,使用WPML从丹斯克翻译成英语。在其中,我有一个页面,它使用自定义页面模板来显示所有帖子的标题。遗憾的是,它两次显示所有帖子:原文和译文。
这是我的代码:
<ul id="archive-list">
<?php $args = array(
\'lang\' => ICL_LANGUAGE_CODE,
\'numberposts\' => \'-1\',
\'post_type\' => \'post\',
);
$myposts = get_posts($args);
foreach($myposts as $post) : ?>
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php endforeach; ?>
</ul>
有人知道我需要做什么才能让这个页面只显示当前语言的标题吗?
SO网友:Rob Vermeer
要使WPML中的语言过滤器生效,您必须允许在get\\u帖子中使用过滤器。默认设置为关闭。
您可以添加suppress_filters=0
到您的get\\u posts args,它应该可以工作。请参见:http://codex.wordpress.org/Template_Tags/get_posts#Parameters
<ul id="archive-list">
<?php $args = array( \'suppress_filters\' => false, \'numberposts\' => \'-1\', \'post_type\' => \'post\', );
$myposts = get_posts($args);
foreach($myposts as $post) : ?>
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php endforeach; ?>
</ul>