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 に答える