在WPML支持论坛上我对此有一些了解,但我想我也可以在这里提问。这是重要的信息:我正在使用自定义帖子类型,自定义字段,自定义所有内容来运行WP Multisite设置。在一个特定的模板文件中,我有一个辅助循环,该循环从另一个博客中提取项目列表。从我收集到的信息来看,使用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-上显示的自定义永久链接“编辑帖子”页面。
有任何想法吗?
1
IMO,在这里问高级插件问题是不公平的……
—
brasofilo 2012年
“不公平”?用什么方式?如果在此处无法查询,为什么会有WPML标签?再次检查常见问题,伙伴。它是根据GPL(甚至是高级版本)获得许可的,因此从技术上讲,我可以发布任何相关的代码块,以供其他人查看以进行故障排除。也就是说,至少其中一个问题是WordPress的核心问题-
—
SickHippie 2012年
switch_to_blog()
不会传递自定义帖子类型的固定链接get_permalink()
-使其成为一个很好的地方。不过,感谢您的不赞成票,它比实际提出一个2个月大的问题的答案要有用得多。
他们有“免费版本”吗?如果他们这样做了,对不起,我不知道...如果他们不这样做,拥有一个标签不会成为任何GPL的借口...
—
brasofilo 2012年
是的,我应该在投票之前将它带到Meta中,现在我不能撤消它。感谢您的支持,@ Bainternet。SickHippie,您似乎还没有在他们的论坛上得到答案,希望有个好人,同时修改旧的问题,偶然发现并赞成。致以最诚挚的问候,并对错误表示抱歉。
—
brasofilo 2012年
@brasofilo-不用担心,队友。昨天我有点紧张,为我的进取心表示歉意。这是没有必要的,非常抱歉。
—
SickHippie 2012年