2016-03-07 93 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

相關問題