在菜单管理部分使用PHP代码

时间:2017-05-09 作者:Állan Fidelis Toledo

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

enter image description here


我想添加我的PHP代码,使用wodpress菜单admin在我的链接中添加一个Bagde。

我已经将代码添加到标题(导航栏),但我想将其添加为我购物车图标中的徽章。

enter image description here

有人知道发生了什么吗?

1 个回复
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。

结束

相关推荐

将信息从unctions.php传递到plugin

传递信息的最佳方式是什么functions.php 到插件?我需要让用户能够从他们的functions.php 文件到我的插件。(它可以是任何数据,只是我可以检查的数据;它可以是变量的值,甚至可以是设置了变量或定义了函数的事实。)我尝试了以下建议:Pass A Value From Outside To A Plugin Variable我一字不差地插入了代码:在插件上: $value = 0; $value = apply_filter(\'get_value_from_function\',