walker_nav_menu_start_el の第4引数では、 wp_nav_menu 関数で指定された引数を受け取ることが可能となっています。
Home
※ ドキュメントでは、配列と記述されていますが、実際は以下の様なオブジェクトでの受け取りとなります。
object(stdClass)#2198 (16) {
["menu"]=>
object(WP_Term)#2201 (10) {
["term_id"]=>
int(2)
["name"]=>
string(4) "main"
["slug"]=>
string(4) "main"
["term_group"]=>
int(0)
["term_taxonomy_id"]=>
int(2)
["taxonomy"]=>
string(8) "nav_menu"
["description"]=>
string(0) ""
["parent"]=>
int(0)
["count"]=>
int(2)
["filter"]=>
string(3) "raw"
}
["container"]=>
string(3) "div"
["container_class"]=>
string(0) ""
["container_id"]=>
string(0) ""
["menu_class"]=>
string(12) "primary-menu"
["menu_id"]=>
string(0) ""
["echo"]=>
bool(true)
["fallback_cb"]=>
string(12) "wp_page_menu"
["before"]=>
string(0) ""
["after"]=>
string(0) ""
["link_before"]=>
string(0) ""
["link_after"]=>
string(0) ""
["items_wrap"]=>
string(36) "<ul id="%1$s" class="%2$s">%3$s</ul>"
["depth"]=>
int(0)
["walker"]=>
string(0) ""
["theme_location"]=>
string(7) "primary"
}
この受け取ったオブジェクトの値を用いて条件分岐させることで、特定のカスタムメニューのみ適用することが可能です。
なお、管理画面のメニューの編集画面で入力したメニュー名で判定するには、$args->menu->name での判定となり、register_nav_menu で指定した location の値で判定したい場合は、$args->theme_location での判定となります。
テーマ内の特定箇所のメニューということであれば、前者よりも後者での判定とする方が適切です。
jim912さま
ご指南ありがとうございます。
希望通りの処理を行うことができました。
助かりました。
ありがとうございました!