我在WPML支持论坛上对此有所了解,但我想我也可以在这里问一下。以下是重要信息:我正在运行一个带有自定义帖子类型、自定义字段、自定义所有内容的WP多站点设置。在一个特定的模板文件中,我有一个二级循环,它从不同的博客中提取项目列表。从我收集的信息来看,任何使用WP API的东西都应该只过滤到当前的语言,而不是WP_Query()
我拥有的功能正在这样做。
相关代码:
<?php
switch_to_blog(23);
$args = array(\'post_type\' => \'release-notes\',
\'suppress_filters\' => 0,
\'meta_query\' => array(
array(
\'key\' => \'related_products\',
\'value\' => $thisproduct,
\'compare\' => \'LIKE\'
)
)
);
$loop = new WP_Query($args);
if ($loop->have_posts()) {
echo \'<h2>Release Notes</h2>\';
while ( $loop->have_posts() ) : $loop->the_post();
//echo \'<pre>\';
//print_r($post);
//echo \'</pre>\';
$post_link = ($post->post_name);
echo \'<p><a class="text-link" href="\' . get_permalink() . \'">\' . get_the_title() . \'</a></p>\';
endwhile; // foreach($posts
} // if ($results
restore_current_blog();
?>
这里的问题有两个:首先,它返回每种语言的结果,而不是当前语言的结果-同一篇文章,三次(EN、FR、DE)。第二,结果来自
get_permalink()
完全错了-它吐出来了
http://www.mysite.com/blog23name/postname 而不是
http://www.mysite.com/blog23name/lang/posttype/postname - “编辑帖子”页面上显示的自定义永久链接。
有什么想法吗?