,可以通过自定义主题或使用插件来实现。
一种常见的方法是通过自定义主题的方式,在主题的functions.php文件中添加以下代码:
// 添加菜单图标字段
function add_menu_icon_field( $item_id, $item, $depth, $args ) {
$icon = get_post_meta( $item_id, '_menu_item_icon', true );
?>
<p class="field-icon description description-wide">
<label for="edit-menu-item-icon-<?php echo esc_attr( $item_id ); ?>">
<?php esc_html_e( '菜单图标', 'text-domain' ); ?><br />
<input type="text" class="widefat code edit-menu-item-icon" id="edit-menu-item-icon-<?php echo esc_attr( $item_id ); ?>" name="menu-item-icon[<?php echo esc_attr( $item_id ); ?>]" value="<?php echo esc_attr( $icon ); ?>" />
</label>
</p>
<?php
}
add_action( 'wp_nav_menu_item_custom_fields', 'add_menu_icon_field', 10, 4 );
// 保存菜单图标字段值
function save_menu_icon_field( $menu_id, $menu_item_db_id, $args ) {
if ( isset( $_REQUEST['menu-item-icon'][ $menu_item_db_id ] ) ) {
$icon = sanitize_text_field( $_REQUEST['menu-item-icon'][ $menu_item_db_id ] );
update_post_meta( $menu_item_db_id, '_menu_item_icon', $icon );
}
}
add_action( 'wp_update_nav_menu_item', 'save_menu_icon_field', 10, 3 );
// 显示菜单图标
function display_menu_icon( $item_output, $item, $depth, $args ) {
$icon = get_post_meta( $item->ID, '_menu_item_icon', true );
if ( ! empty( $icon ) ) {
$item_output = '<span class="menu-icon">' . esc_html( $icon ) . '</span>' . $item_output;
}
return $item_output;
}
add_filter( 'walker_nav_menu_start_el', 'display_menu_icon', 10, 4 );
以上代码会在菜单编辑页面中添加一个"菜单图标"字段,并保存该字段的值。然后,在菜单输出时,会在菜单项前面显示对应的图标。
另外,如果你不想自定义主题,也可以使用一些现成的插件来实现该功能。例如,"Menu Icons"插件可以让你为菜单项添加图标,并且支持多种图标库。你可以在WordPress插件库中搜索并安装该插件。
希望以上信息对你有帮助!如果你对其他问题有任何疑问,请随时提问。
领取专属 10元无门槛券
手把手带您无忧上云