WordPress 5.4引入了兩個(gè)新動(dòng)作鉤子,可用于在菜單屏幕和外觀定制器的菜單編輯器中向菜單項(xiàng)添加自定義字段。
現(xiàn)在可以使用以下鉤子:
菜單管理屏幕
新的 wp_nav_menu_item_custom_fields動(dòng)作鉤子將在菜單編輯器中的導(dǎo)航菜單項(xiàng)的移動(dòng)按鈕之前觸發(fā)。
您可以分配五個(gè)參數(shù):
$item_id:菜單項(xiàng)ID(整數(shù))$item:菜單項(xiàng)數(shù)據(jù)對(duì)象(object)$depth:菜單項(xiàng)的深度(整數(shù))$args:菜單項(xiàng)參數(shù)的對(duì)象(對(duì)象)$id:導(dǎo)航菜單ID(整數(shù))
這是一個(gè)簡(jiǎn)單的示例:
function wporg_my_custom_field() {
esc_html_e( 'Howdy! WordPress 5.4 is coming!', 'wporg' );
}
add_action( 'wp_nav_menu_item_custom_fields', 'wporg_my_custom_field' );
結(jié)果如下(綠色虛線框突出顯示):

外觀定制器的菜單編輯器
新的wp_nav_menu_item_custom_fields_customize_template動(dòng)作鉤子將在定制器中導(dǎo)航菜單項(xiàng)的表單字段模板的末尾觸發(fā)。
該鉤子使您可以在那里渲染其他字段并使用JavaScript進(jìn)行管理。
這和wp_nav_menu_item_custom_fields 動(dòng)作鉤子是一樣的 。
與現(xiàn)有自定義 walkers 的兼容性
這些新的動(dòng)作鉤子可以代替您在導(dǎo)航菜單字段中使用的自定義walkers。您將需要檢查現(xiàn)有代碼,以了解在何處進(jìn)行替換。
有關(guān)更多信息,請(qǐng)參見(jiàn)相關(guān)的Trac單#47056。
有關(guān)在自定義字段中管理重復(fù)項(xiàng)的更多幫助,請(qǐng)參閱Trac單#49500。在插件中,您可以通過(guò)檢查WordPress版本來(lái)完全避免該問(wèn)題。
一個(gè)完整的簡(jiǎn)單示例
補(bǔ)充一個(gè)簡(jiǎn)單的示例,可以看文章:http://www.ydqwiac.cn/wordpress-add-custom-fields-to-menu-items.html





那在菜單注冊(cè)自定義文本框怎么辦捏?
剛才找到國(guó)外的一篇文章,或許對(duì)你有所幫助:https://www.kathyisawesome.com/add-custom-fields-to-wordpress-menu-items/
剛才將代碼整理了一下,發(fā)布了文章:http://www.ydqwiac.cn/wordpress-add-custom-fields-to-menu-items.html