我正在尝试在菜单中插入一个简单的1字段联系人7表单。
我将此代码仅用于文本,但如果我尝试插入表单的快捷码,则会出现错误。我做错了什么?
add_filter( \'wp_nav_menu_items\', \'your_custom_menu_item\', 8, 2 );
function your_custom_menu_item ( $items, $args ) {
if( $args->theme_location == \'primary\') {
$items .= \'<li class="menu-item">Text goes here</li>\';
}
return $items;
}
在这里,我尝试插入表单的快捷码:
add_filter( \'wp_nav_menu_items\', \'your_custom_menu_item\', 8, 2 );
function your_custom_menu_item ( $items, $args ) {
if( $args->theme_location == \'primary\') {
$items .= \'<li class="menu-item">echo do_shortcode( \'[contact-form-7 id="1323" title="Newsletter"]\' );</li>\';
}
return $items;
}
最合适的回答,由SO网友:Krzysiek Dróżdż 整理而成
好吧,您得到了错误,因为您的代码不正确。。。这一行有语法错误(您在其中组合了字符串和PHP代码…):
$items .= \'<li class="menu-item">echo do_shortcode( \'[contact-form-7 id="1323" title="Newsletter"]\' );</li>\';
应该是这样的:
add_filter( \'wp_nav_menu_items\', \'your_custom_menu_item\', 8, 2 );
function your_custom_menu_item ( $items, $args ) {
if( $args->theme_location == \'primary\') {
$items .= \'<li class="menu-item">\'. do_shortcode( \'[contact-form-7 id="1323" title="Newsletter"]\' ) .\'</li>\';
}
return $items;
}