wp_nav_menu()
<!-- Cart Menu -->
<?php
wp_nav_menu([
\'menu\' => \'Cart\',
\'theme_location\' => \'Cart\',
\'container\' => false,
//\'container_id\' => \'bs4navbar\',
//\'container_class\' => \'collapse navbar-collapse\',
\'menu_id\' => false,
\'menu_class\' => \'navbar-nav mr-auto\',
\'depth\' => 2,
\'fallback_cb\' => \'bs4navwalker::fallback\',
\'walker\' => new bs4navwalker()
]);
?>
<!-- code for the badge START-->
<?php $args = array(
\'menu\' => \'Cart\',
\'container\' => \'\',
\'items_wrap\' => \'%3$s\'
); ?>
<ul class="badge">
<?php wp_nav_menu($args); ?>
<li>
<?php
if ( WC()->cart->get_cart_contents_count() !== 0 ) {
// Do something fun
?>
<span class="badge-pill badge-warning no-md-view">
<a class="cart-customlocation" href="<?php echo wc_get_cart_url(); ?>" title="<?php _e( \'View your shopping cart\' ); ?>"><?php echo sprintf ( _n( \'%d item\', \'%d items\', WC()->cart->get_cart_contents_count() ), WC()->cart->get_cart_contents_count() ); ?></a>
<?php
}
?>
</span>
</li>
</ul>
Result
我想添加我的PHP代码,使用wodpress菜单admin在我的链接中添加一个Bagde。
我已经将代码添加到标题(导航栏),但我想将其添加为我购物车图标中的徽章。
有人知道发生了什么吗?
SO网友:WebElaine
艾伦,谢谢你澄清这个问题。您不能在wp admin菜单管理器中添加PHP。相反,这里有一种方法可以使菜单保持动态并在wp admin中进行管理,同时仍然允许您在最后添加PHP:
<?php $args = array(
\'menu\' => \'your-menu-name\',
\'container\' => \'\',
\'items_wrap\' => \'%3$s\'
); ?>
<ul class="my-custom-menu">
<?php wp_nav_menu($args); ?>
<li><?php // add your badge code here ?></li>
</ul>
其作用:输出一个名为
your-menu-name
(用你所称的菜单替换这个,看起来可能是
cart
). 离开
container
空表示删除
<div>
通常围绕菜单。你想删除它,因为如果你不这样做,你将有一个
<div>
在菜单上,但不是你的徽章。背景
items_wrap
只是
%3$s
剥离
<ul>
这通常围绕着菜单-您删除它的原因与删除
<div>
. 最后,将菜单和自定义代码包装在自己的
<ul>
- 你可以改变
my-custom-menu
在任何你喜欢的CSS类中,添加一个ID,等等,并将你的徽章代码放在
<li>
然后,它将获得与其他菜单项相同的CSS样式,如float。