我有 2 个站点。两者都使用相同的主题。在“站点 A”中,我建立了导航。在“站点 B”中,我想在 header.php 文件中调用以继承“站点 A”导航。
我试过把它放在“站点 B”header.php 中,它会加载标题,但它会呈现“站点 B”的导航。
define('WP_USE_THEMES', false);
require('/server/path/to/my/wordpress/site/siteA/header.php');
有任何想法吗?
我有 2 个站点。两者都使用相同的主题。在“站点 A”中,我建立了导航。在“站点 B”中,我想在 header.php 文件中调用以继承“站点 A”导航。
我试过把它放在“站点 B”header.php 中,它会加载标题,但它会呈现“站点 B”的导航。
define('WP_USE_THEMES', false);
require('/server/path/to/my/wordpress/site/siteA/header.php');
有任何想法吗?
谢谢佩德罗!我没有经常使用 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 文件中进行 Curl 调用:
$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;
站点 A 导航现在呈现在站点 B 的标题中。完美的!