我查看了如何在菜单说明中允许带有链接或其他标记的HTML,但我能找到的是如何使用
剥离标记// Allow HTML descriptions in WordPress Menu
remove_filter( 'nav_menu_description', 'strip_tags' );
我找到了这个函数,它应该允许在菜单描述中编写链接和其他HTML元素
add_filter( 'wp_setup_nav_menu_item', 'cus_wp_setup_nav_menu_item' );
function cus_wp_setup_nav_menu_item( $menu_item ) {
$menu_item->description = (isset($menu_item->post_content)) ? apply_filters( 'nav_menu_description', $menu_item->post_content ) : '';
return $menu_item;
}
但是这将输出菜单描述中的页面内容:\
还有其他方法吗?
答案 0 :(得分:7)
我认为您的代码应如下所示:
remove_filter( 'nav_menu_description', 'strip_tags' );
function my_plugin_wp_setup_nav_menu_item( $menu_item ) {
if ( isset( $menu_item->post_type ) ) {
if ( 'nav_menu_item' == $menu_item->post_type ) {
$menu_item->description = apply_filters( 'nav_menu_description', $menu_item->post_content );
}
}
return $menu_item;
}
add_filter( 'wp_setup_nav_menu_item', 'my_plugin_wp_setup_nav_menu_item' );
你的步行者课程怎么样?如果您使用my_plugin_wp_setup_nav_menu_item
$item->post_content
的{{1}}值,则可能不需要$item->description
过滤器。另外,请确保打印菜单项描述的原始值,而不是使用esc_html
或esc_attr
转义它。