{
    分享网正式开通,我们为大家提供免费资源,欢迎大家踊跃投稿!

【站长学堂】wordpress函数使用技巧:让我们自定义网站菜单栏

  当我们在制作wordpress主题时,除了知道wordpress常用的模版函数之外,我们还要知道这些函数要如何用!今天就来讲讲网站栏目的调用函数<?php wp_nav_menu(); ?>的使用方法。

  <?php wp_nav_menu(); ?>函数是3.0之后才出的模版函数,这个函数位于wp-includes/nav-menu-templates.php文件中。而我们通过这个函数,可以实现后台自定义菜单的调用。因此这个函数深受很多wordpress主题开发者的喜爱。而我们在使用这个功能之前,先要激活这个功能,因此我们需要再functions.php中加入add_theme_support( 'nav-menus' );或者

  1.   // 自定义菜单

  2.   register_nav_menus(

  3.   array(

  4.   ‘header-menu’ =&gt; __( ’导航自定义菜单’ ),

  5.   ‘footer-menu’ =&gt; __( ’页角自定义菜单’ )));

  简单调用如下:

  1.   <?php wp_nav_menu($args);?>

  调用的menu默认排版为

  1.   <?php $defaults = array(

  2.   'theme_location' => ,

  3.   'menu' => ,

  4.   'container' => 'div',

  5.   'container_class' => 'menu-{menu slug}-container',

  6.   'container_id' => ,

  7.   'menu_class' => 'menu',

  8.   'menu_id' => ,

  9.   'echo' => true,

  10.   'fallback_cb' => 'wp_page_menu',

  11.   'before' => ,

  12.   'after' => ,

  13.   'link_before' => ,

  14.   'link_after' => ,

  15.   'depth' => 0,

  16.   'walker' => );

  17.   ?>

  如果是多菜单的话,如下调用

  1.   <?php echo wp_nav_menu( array( 'container_class' => 'menu-header', 'theme_location' => 'primary' ) ) ?>

  根据是否登录生成不同该菜单栏

  1.   <?php

  2.   if ( is_user_logged_in() ) {

  3.   wp_nav_menu( array( 'theme_location' => 'logged-in-menu' ) );

  4.   } else {

  5.   wp_nav_menu( array( 'theme_location' => 'logged-out-menu' ) );

  6.   }

  7.   ?>

  移除菜单栏

  1.   <?php

  2.   function my_wp_nav_menu_args( $args = '' )

  3.   {

  4.   $args['container'] = false;

  5.   return $args;

  6.   } // function

  7.   add_filter( 'wp_nav_menu_args', 'my_wp_nav_menu_args' );

  8.   ?>

  或者

  1.   <?php wp_nav_menu( array( 'container' => '' ) ); ?>

  wp_nav_menu() 参数详解

  theme_location: 调用一个与特定的主题位置相关联的菜单。

  menu: 调用指定ID、别名或名称的菜单。

  container: 封装该菜单的元素。默认是 div,但是如果你使用HTML 5的话,你也可以改为nav。

  container_class: 封装元素的CSS类(指定其显示样式)。

  menu_class: 指定无序列表的CSS类,默认是 menu。

  fallback_cb: 指定不存在菜单项目时要调用的函数。默认情况下会调用wp_list_pages() 函数(WordPress的静态页面列表)。

  before: 要显示在链接文字之前的文字(也是链接的一部分)。

  after: 要显示在链接文字之后的文字(也是链接的一部分)。

  link_before: 要显示在链接前面的文字(不是链接的一部分)。

  link_after: 要显示在链接后面的文字(不是链接的一部分)。

  depth: 指定显示菜单的层次深度,这在定义下拉式菜单的比较有用。默认情况是0(所有层次)。

  walker: 允许自定义一个walker(巡游?)PHP 类来创建菜单。

  echo: 定义是显示该菜单还是仅仅返回数据供PHP程序使用。默认是真,直接显示该菜单。

  注意:’theme_location’ => ‘primary’,这句代码调用的是主菜单的意思。所以,要使用上面这句代码,还要在后台设置主菜单(如下图),否则会显示错位或调用页面菜单。我就出现过这样的情况,因为要用多语言插件Polylang来实现网站菜单的多语言,所以必须用到这句代码,搞了半天才弄明白是怎么回事。


资源均来自第三方,谨慎下载,前往第三方网站下载


米微资源分享网 , 版权所有丨本站资源仅限于学习研究,严禁从事商业或者非法活动!丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:【站长学堂】wordpress函数使用技巧:让我们自定义网站菜单栏
喜欢 ()分享 (0)