ワードプレス メニューは一連のリンク(メニューアイテム)を整理するための強力なツールであり、テーマはナビゲーション機能を作成するためにこれらのメニューを使用することがよくあります。このガイドでは、WordPressのメニュー項目にカスタムフィールドを追加し、メニュー項目のHTML出力を変更する方法を詳しく説明します。使用するプラグインはACF(高度なカスタムフィールド).
ACFこのプラグインは現在SCFという名前に変更され、プラグインマーケットプレイスにインストールされています:
![图片[1]-如何为 WordPress 菜单项添加自定义字段并修改其 HTML](https://www.361sale.com/wp-content/uploads/2024/11/20241121113500520-image.png)
![图片[2]-如何为 WordPress 菜单项添加自定义字段并修改其 HTML](https://www.361sale.com/wp-content/uploads/2024/11/20241121104643193-image.png)
フィールドの追加
Advanced Custom Fieldsプラグインを使用すると、メニュー項目にカスタムフィールドを簡単に追加できます。
- 自己啓発フィールドの定義管理画面で新規追加ボタンをクリックして、新しいフィールドグループを作成します。
- メニュー項目の編集時に表示したいフィールドを追加します。
- インポジション小文字の場合はメニュー項目ルールを作成し、"All"(すべてのメニュー項目にこのフィールドグループを表示する)または "Specific Menu/Location"(特定のメニュー項目のみにこのフィールドグループを表示する)を選択します。
![图片[3]-如何为 WordPress 菜单项添加自定义字段并修改其 HTML](https://www.361sale.com/wp-content/uploads/2024/11/20241121104042558-image.png)
フィールドの編集
フィールド・グループが作成され、メニュー項目編集画面に表示されるように指定されると、メニュー項目編集画面に移動して編集することができます。外観 > メニューフィールド値を編集するための管理ページ。
WPは各メニュー項目をポストオブジェクトとしてwp_posts
ACFはすべてのカスタムフィールド値をwp_postmeta
表
![图片[4]-如何为 WordPress 菜单项添加自定义字段并修改其 HTML](https://www.361sale.com/wp-content/uploads/2024/11/20241121104151658-image.png)
表示フィールド
WordPress のメニュー項目の HTML は、wp_nav_menu_objects フィルタで簡単にカスタマイズできます。このフィルタは(wp_nav_menu()関数によって)メニューがレンダリングされるたびに実行され、メニューアイテムオブジェクトを修正することができます。それぞれのオブジェクトはタイトル
各メニューリンク要素の出力値<a>
.
この例では、すべてのメニュー項目オブジェクトを新しい "アイコン"フィールドに値が存在する場合、アイコンを添付します。
add_filter('wp_nav_menu_objects', 'my_wp_nav_menu_objects', 10, 2);
// ループ
foreach( $items as &$item ) { // ループします。
// 引数
$icon = get_field('icon', $item);
// アイコンを追加
if( $icon ) { // アイコンを追加
$item->title .= ' ';
}
}
// リターン
return $items;
}
はんけつをくだす
これがブラウザでの表示です。新しいアイコンエレメント!
![图片[5]-如何为 WordPress 菜单项添加自定义字段并修改其 HTML](https://www.361sale.com/wp-content/uploads/2024/11/20241121104320582-image.png)
お問い合わせ |
---|
記事が読めない?無料でお答えします!個人サイト、中小企業サイトのための無料ヘルプ! |
① 電話:020-2206-9892 |
② QQ咨询:1025174874 |
三 Eメール:info@361sale.com |
④ 勤務時間: 月~金、9:30~18:30、祝日休み |
この記事へのリンクhttps://www.361sale.com/ja/27348この記事は著作権で保護されており、必ず帰属表示を付けて複製してください。
コメントなし