0

だから私は現在、これらの行に沿ったいくつかのナビゲーションリンクを持つWordpressを持っています:

リンク 1 | リンク 2 | リンク3など

まず、リンク 2 とリンク 3 の間にリンクを追加しようとしています。このコードを使用していますが、順序付けられていないリストの最後にリンクを追加します。位置を特定する方法はありますか?

    add_filter( 'wp_nav_menu_items', 'your_custom_menu_item', 10, 2 );
function your_custom_menu_item ( $items, $args ) {

        $items .= '<li><a href=#">Test Link</a></li>';
    return $items;
}

次に、この新しいリンクに、ユーザー ID を含む動的 URL を設定したいと考えています。wordpressに関する情報を調べてみましget_currentuserinfo();たが、機能に含める方法が見つからないようです。

4

2 に答える 2

1

functions.php ページの wp_nav_menu にフィルターを追加しました。

function wp_username_in_nav( $menu ){
    global $current_user;
    return $menu = str_replace('--username--', $current_user->user_login, $menu );
}
add_filter( 'wp_nav_menu', 'wp_username_in_nav' );

次に、メニューに、次のような URL を持つリンク メニュー項目を追加しました: /rootfolder/members/--username--/profile/edit/

これにより、ユーザー名をメニュー項目に動的に追加できるようになりました。

于 2013-09-23T20:26:32.947 に答える
0
  1. add_filterを使用してフィルターの優先度を指定し、10ナビゲーション項目が正しい位置に来るまで値を試してみてください。

  2. $current_user関数を呼び出す前に、グローバル変数を設定する必要があります。

コード

global $current_user;
get_currentuserinfo();

echo 'Username: ' . $current_user->user_login . "\n";
于 2012-05-17T22:38:02.180 に答える