WordPress菜单中的联系人表单域

时间:2015-06-03 作者:NFdesign

我正在尝试在菜单中插入一个简单的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;
}

1 个回复
最合适的回答,由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;
}

结束