Wordpress 将短代码插入菜单项
Wordpress insert shortcode into menu item
我有这样的问题。在 functions.php 我有这样的代码:
function Svg_Path($attr) {
$a = shortcode_atts(array(
'path' => 'Some text'
), $attr);
$svg = '<svg class="menu-item-icon"><use xlink:href=' . get_template_directory_uri(). '/img/svg/sprite.svg' . $a["path"] . '></use></svg>';
return $svg;
}
add_shortcode( 'SvgPath', 'Svg_Path' );
一般情况下,我可以在pageBuilder中使用这个
<div>[SvgPath path='#logo__skype']</div>
结果将是显示的 Skype 图标。但是当我尝试将此简码插入 Appearence>Menu>Link 文本时,我得到的简码是纯文本
Where do I try to input my shortcode
所以你能帮我解决这个问题吗,这样我就可以从菜单项中的 svg sprite 接收 skype 徽标
你能不能不使用更新后的 FontAwesome 来创建这个并将其添加到你的菜单中?
试试下面的代码。该代码将解析您的简码并向您显示简码内容。它只会在前端工作。
add_filter( 'the_title', function( $title, $item_id ) {
if ( 'nav_menu_item' === get_post_type( $item_id ) ) {
return do_shortcode( $title );
}
return $title;
}, 10, 2 );
我有这样的问题。在 functions.php 我有这样的代码:
function Svg_Path($attr) {
$a = shortcode_atts(array(
'path' => 'Some text'
), $attr);
$svg = '<svg class="menu-item-icon"><use xlink:href=' . get_template_directory_uri(). '/img/svg/sprite.svg' . $a["path"] . '></use></svg>';
return $svg;
}
add_shortcode( 'SvgPath', 'Svg_Path' );
一般情况下,我可以在pageBuilder中使用这个
<div>[SvgPath path='#logo__skype']</div>
结果将是显示的 Skype 图标。但是当我尝试将此简码插入 Appearence>Menu>Link 文本时,我得到的简码是纯文本
Where do I try to input my shortcode
所以你能帮我解决这个问题吗,这样我就可以从菜单项中的 svg sprite 接收 skype 徽标
你能不能不使用更新后的 FontAwesome 来创建这个并将其添加到你的菜单中?
试试下面的代码。该代码将解析您的简码并向您显示简码内容。它只会在前端工作。
add_filter( 'the_title', function( $title, $item_id ) {
if ( 'nav_menu_item' === get_post_type( $item_id ) ) {
return do_shortcode( $title );
}
return $title;
}, 10, 2 );