2012-05-15 242 views
0

我有2個網站。兩者都使用相同的主題。在「網站A」我已經建立了我的導航。在「站點B」中,我想在header.php文件中調用繼承「站點A」導航。WordPress的網站繼承從其他Wordpress網站主導航

我試着把它放在「網站B」header.php,它加載標題,但它呈現「網站B的」導航。

define('WP_USE_THEMES', false); 
require('/server/path/to/my/wordpress/site/siteA/header.php'); 

任何想法?

+0

要使其成爲動態,您需要連接到站點A的數據庫並加載所需的頁面。建立與網站A所在數據庫的連接,並且由於您使用的是相同的主題,所以相同的功能可能會起作用。 – anuragbh

+0

連接到數據庫,含義是將wp-config文件更改爲指向站點A?但是,所有內容(帖子)也會被繼承。或者你的意思是在wordpress之外創建一個連接並查詢導航項目? – Preston

+1

更好的方法是curl() –

回答

0

謝謝佩德羅!我沒有經常與Curl合作過,結果是最簡單的解決方案。

這就是我所做的。

創建一個getnav.php文件,包括以下內容:

$root = realpath($_SERVER["DOCUMENT_ROOT"]); 

define('WP_USE_THEMES', false); 
require_once($root . "/path/to/siteA/wp-load.php"); 

    //RENDER PRIMARY NAV 

    $defaults = array(
    'theme_location' => '', 
    'menu'   => 'Primary Menu', 
    'container'  => 'div', 
    'container_class' => 'menu-container', 
    'container_id' => '', 
    'menu_class'  => 'menu', 
    'menu_id'   => '', 
    'echo'   => true, 
    'fallback_cb'  => 'wp_page_menu', 
    'before'   => '', 
    'after'   => '', 
    'link_before'  => '', 
    'link_after'  => '', 
    'items_wrap'  => '<ul id=%1$s class=%2$s>%3$s</ul>', 
    'depth'   => 0, 
    'show_home' => 0, 
    'walker'   => ''); 

    wp_nav_menu($defaults); 

然後在 「站點B」 header.php文件我做出捲曲電話:

$ch = curl_init("path/to/getnav.php"); 
curl_setopt($ch,CURLOPT_HEADER,0); 
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); 

$nav = curl_exec($ch); 

curl_close($ch); 

echo $nav; 

網站導航現在呈現在網站B的標題中。完善!