2016-03-07 53 views
0

在WordPress多站点设置中,每个网站都有自己的wp_posts和wp_postmeta表。所以,如果我想分享一个WP网络站点后到另一个我可以使用WPDB类从其他网络网站查询职位或者我可以使用switch_to_blog()WPMU功能如何获得WordPress多站点共享帖子的永久链接

<?PHP 
$new_blog = 2; 
switch_to_blog($new_blog); 
?> 
<a href="<?php echo get_post_permalink($post->ID) ?>"><?php echo $post->post_title ?></a> 
<?php 
restore_current_blog(); 
?> 

的get_post_permalink()函数将将链接返回到网站的共享文章。

我的问题是,如何获取指向当前博客域的共享帖子的固定链接,使其看起来像是在当前博客上托管的帖子。

我发现在多个WPMU站点上共享内容的所有插件都会复制并整合帖子。我正在寻找一种解决方案,可以让我分享一些内容,并使它看起来像是它自己的网址。

+0

我没有多点经验,但你可以抓住使用'get_site_url()'的网站,然后做从URL中''str_replace' get_post_permalink'? –

+0

这是一个好主意,但一旦我这样做,我会创建一个不存在的链接。我想要实现的目标是让WordPress从后端的默认表中提取内容。我可以使用一个wp_post和wp_postmeta表,并配置每个多站点以这种方式使用它,所有帖子都会在所有网站上有URL。这又是不可取的。我需要分享一些特定类别的帖子 –

+0

这是一个完全不同的蠕虫袋不知道你会如何去做,而不重复的帖子 –

回答

0

我会按照@David Nguyen的建议去做以下事情。

<?php 
    $new_blog = 2; 
    switch_to_blog($new_blog); 

    $my_permalink = str_replace(home_url() . '/', network_home_url(), get_post_permalink($post->ID)); 
?> 
<a href="<?php echo $my_permalink ?>"><?php echo $post->post_title ?></a> 
<?php 
    restore_current_blog(); 
?> 
+0

我做了你所推荐的 这是做什么是创建一个URL一个不存在的不同域的帖子。 –

+0

我不能正确地读你原来的问题。我所假设的是你想要发布固定链接,例如:'http:// network.site.tld/post-name'并将其更改为'http:// site.tld/post-name' – fostertime

相关问题