web-dev-qa-db-ja.com

ナビゲーションメニューのカスタムリンクにphpを追加するにはどうすればいいですか?

私は単にワードプレスのメニューセクションにカスタムリンクとしてPHPを追加したいと思います。私が使いたいコードは<?php bp_loggedin_user_domain(); ?>です。これはログインしたユーザーのbuddypressプロフィールページのURLを生成します。しかし、これをカスタムリンクとして貼り付けると、wpは開始タグと終了タグを削除し、すべての空白を削除します。

何か案は?

1
Claire

あなたはこのようなことをすることができます:

<?php
if ( is_user_logged_in() ) {
     wp_nav_menu( array( 'theme_location' => 'logged-in-menu' ) );
} else {
     wp_nav_menu( array( 'theme_location' => 'logged-out-menu' ) );
}
?>

編集:

これは同じ理論だが実行が異なる別の試みです。

if ( is_user_logged_in() )
{ 
    // Filter wp_nav_menu() to add additional links and other output
    function new_nav_menu_items($items) 
    {
        $homelink = '&lt;li class=&quot;home&quot;&gt;&lt;a href=&quot;' . bp_loggedin_user_domain() . '&quot;&gt;' . __('Profile') . '&lt;/a&gt;&lt;/li&gt;';
        $items = $homelink . $items;
        return $items;
    }
    add_filter( 'wp_nav_menu_items', 'new_nav_menu_items' );
}
2
Martin Hasan

BPメニュー プラグインを使ってみてください。それはWordpressのメニューにBuddypressのメニュー項目を追加し、ダッシュボードからメニューをカスタマイズすることを可能にします。

0
Ahmad M