2012-05-15 63 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的标题中。完善!