【发布时间】:2017-01-24 07:24:18
【问题描述】:
我想在我的头 php 文件中回显购物车下拉菜单的简码。我想出了如何使用函数将菜单项附加到主菜单,并希望在列表中包含购物车下拉菜单的简码。
我的功能是;
add_filter( 'wp_nav_menu_items', 'append_menu_item', 10, 2 );
function append_menu_item( $items, $args )
{
$items .= '<li class="menu-item nav-item" id="menu-item"></li>';
return $items;
}
购物车下拉菜单的简码是;
<?php echo do_shortcode( '[nc_ajax_cart]' );?>
输出此 HTML(链接和具有下拉菜单的 div);
<a id="nc_ajax_cart_snippet" href="javascript:void(0)"></a>
<div id="nc_ajax_cart_mini_cart" style="display:none">
<! Snipped for reading purposes -->
</div><!-- end cart-->
我的 php 很差,我在尝试插入 echo 短代码时不断出错。我不确定这是否是最好的方法。
非常感谢任何帮助、指针或链接!
编辑;
正如我所说,我的 PHP 非常基础,我想我自己也搞糊涂了。我想了想并尝试了这个;
add_filter( 'wp_nav_menu_items', 'append_menu_item', 10, 2 );
function append_menu_item( $items, $args )
{
$shortcode = '[nc_ajax_cart]';
$items .= '<li class="menu-item nav-item" id="menu-item"> echo 'do_shortcode( $shortcode)'; <a title="Cart" href="./cart" class="nav-link"></a></li>';
return $items;
}
我认为将短代码作为字符串传递,然后在列表项中回显短代码会起作用,但它只输出文本“echo do_shortcode($shortcode);”而不是实际的简码。实在是太尴尬了!
【问题讨论】:
-
$items .= '<li class="menu-item nav-item" id="menu-item">'. do_shortcode( $shortcode) . '<a title="Cart" href="./cart" class="nav-link"></a></li>';所以进一步尝试这可以显示短代码,但它不会在- 或 元素内呈现它...更接近?
标签: php html wordpress shortcode