0

我有 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');

有任何想法吗?

4

1 回答 1

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 文件中进行 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 的标题中。完美的!

于 2012-05-15T17:20:37.320 回答