根据语言在“单页”网站上获取所有内容

时间:2012-08-22 作者:Staffan Estberg

我正在开发一个基于WordPress的“单页”网站,该网站有多种语言的内容(使用插件WPML),我需要以更高效的方式检索它,以避免页面加载时间过长

我当前使用的代码示例-

$query = new WP_Query();
$query->query( array( \'post_type\' => \'any\', \'orderby\' => \'id\', \'order\' => \'ASC\' ) );

while ( $query->have_posts() ) {
    $query->the_post();

    // Gather the content for the first section of the page
    if( $post->ID == 100 ) {
        $firstSection .= get_content();
    }

    // Gather next content section etc...

}
本质上,我现在所做的是在所有帖子中循环查找特定ID,然后检索绑定到页面特定部分的内容。正如您所理解的,过了一段时间后,这会变得非常混乱,必须为每种语言的每一节内容创建一个if语句。我目前在while循环中有大约20条语句,我相信有更好的方法来检索数据。有什么想法吗?

2 个回复
SO网友:Wyck

WPML有一个全局检查语言,尽管它可能超出WPSE的范围,因为这是一个商业插件。

其工作原理如下:

if (ICL_LANGUAGE_CODE == \'en\'){
//do something like a custom query...
}else{
// do something else

SO网友:woony

仔细查看wp\\U查询。

http://codex.wordpress.org/Class_Reference/WP_Query

您可以在手头的post\\u id上进行筛选。只得到那个帖子。像你这样疯狂地走:)

$query = new WP_Query( \'p=100\' );
还有

post_in
更多关于您的问题:使用Switch Case 将比您的if语句更好。你可以把它们筑巢。首先切换语言的大小写,然后循环页面。

结束

相关推荐

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

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