カスタムメニュー項目を WordPress メニューの先頭/末尾に追加する

メニューの最後(または先頭)にカスタム項目(たとえば、PHPコードや特定のフレーズなど)を追加できます。 この記事で説明する内容は、デフォルトでナビゲーションメニューにログイン/ログアウトメニュー項目を追加する方法と同じです。

[この記事は2022年12月13日に最終更新されました。 ]

カスタムメニュー項目を WordPress メニューの先頭/末尾に追加する

カスタムメニュー項目を WordPress メニューの先頭/末尾に追加する

次の関数をテーマ関数に追加すると、上の図のようにメニューの最後に、大韓民国の時間を表示することができます。

add_filter( 'wp_nav_menu_items'、 'add_todaysdate_in_menu'、10、2); function add_todaysdate_in_menu( $items, $args ) { if( $args->theme_location == 'header-menu') { $korean_time = date("g:i A", strtotime(" + 9 hours")); $items.=' '。 $korean_time 。 '(ソウル) '; } return $items; }

上記の theme_locationはそのメニューの位置に置き換える必要があります。 わからない場合は、関数ファイルのregister_nav_menu部分を参照してください。 theme_locationがわかります。 そして上記の場合は、新しいメニュー位置(header-menu)を関数ファイルに登録した場合の例です。 (新しいカスタムメニューを追加する方法は、 ここを参照してください。)

上記のコードを詳しく見ると、条件文が使用されています。 これを使用して、ログインユーザーとゲストユーザーによって異なるように表示されるメニューを追加できます。 たとえば、上記の条件文を以下のように変更すると、ゲストには「ログイン」メニューが表示され、ログインユーザーには「ログアウト」メニューが表示されます。

if (is_user_logged_in() && $args->theme_location == 'primary') { $items.=' ログアウト'; } elseif (!is_user_logged_in() && $args->theme_location == 'primary') { $items.=' ログイン'; } return $items; (Source:wpbegginer)

上記のコードは、メニューの一番最後に追加されます。 コードで$ items =部分を介して最後に追加されたことがわかります。 先頭に追加するには、以下のように応用することができます:

$ preitem = '表示するユーザーメニュー項目'; $items = $preitem.$items; return $items;

参照


コメントを残す

*メールアドレスは公開されません。