ありがとうペドロ!私は 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 のヘッダーでレンダリングされるようになりました。完全!