g_thomの答えは非常に良好であり、あなたが出力に非常に単純なモジュールを作成したい場合は、メインナビゲーションは、あなたがこのような何か書くことができます。
<?php
function getmenus_help($path, $arg) {
// implementing the help hook ... well, not doing anything with it just now actually
}
function getmenus_all() {
$page_content = '';
$page_content = json_encode(menu_navigation_links(variable_get('menu_primary_links_source', 'primary-links')));
// fill $page_content with the menu html
print $page_content;
return NULL;
}
function getmenus_menu() {
$items = array();
$items['getmenus'] = array(
'title' => 'Get Menus',
'page callback' => 'getmenus_all',
'access arguments' => array('access getmenus'),
'type' => MENU_CALLBACK,
);
return $items;
}
// permissions
function getmenus_perm() {
return array('access getmenus');
}
PHPコードであなたが、その後のようなものを書くことができた:
function primary_links() {
$primary_links = file_get_contents(SITE_URL . '/getmenus');
$primary_links = json_decode($primary_links);
$primary_links = (array)$primary_links;
$i = 0;
$last = count($primary_links);
$output = '';
foreach ($primary_links as $pm) {
$href = $pm->href;
if (strpos($pm->href, 'http://') === FALSE) {
if ($pm->href == '<front>') {
$href = SITE_URL . '/';
} else {
$href = SITE_URL . '/' . $pm->href;
}
}
$output .= '
<li>
<a href="'. $href .'" title="'.$pm->title.'">'.$pm->title.'</a></li>';
$i++;
}
return $output;
}
この情報が役立ちますようお願いいたします。
PS:モジュールで設定したパスに匿名ユーザーがアクセスできるようにモジュールのアクセス許可を更新する必要があります。そうしないと、アクセス許可が拒否されます。
ありがとう、私はDrupalをまったく使用しませんが、これは良い方法です。私はDrupalのオーナーがこれをやりたくないので、実際にこれをテストしなかったので、今は手動でメニューhtmlをWPに追加します。しかし、これはうまくいくように見えます。 – markratledge
問題ありません。はい、それは動作します - 私はそれを確認しようとしました:) –
ノードを使用して、任意のPHPを挿入するためのカスタムテンプレートを作成することができますので、これを行うには本当に複雑な方法です。 "Drupalの方法"はカスタムモジュールを作成することです - hook_menuを実装して特定のURIへのコールバックを作成し、提案したPHPをそのコールバックに挿入します。 – Simon