如何使用 Wordpress walkers 显示父菜单项的描述?

2023-12-13

有什么方法可以将变量从 start_el 传递到 start_lvl 吗?我想将菜单描述放在子菜单项的包装中。

class submenu_walker extends Walker_Nav_Menu
{
    function start_lvl( &$output, $depth = 0, $args = array() ) {
        $indent = str_repeat("\t", $depth);
        $output .= "\n$indent<ul class='sub-menu'><div class='menu-image-container'><div class='menu-image'></div></div>\n";
    }
    function end_lvl( &$output, $depth = 0, $args = array() ) {
        $indent = str_repeat("\t", $depth);
        $output .= "$indent<div class='clear'></div></ul>\n";
    }
}

我尝试将描述存储为 start_el 中的变量,并使用 start_lvl 中的 global 访问它...但它什么也不返回。

我真的非常渴望在这方面得到帮助,因为到目前为止我还没有任何结果,也没有对这个问题的答案做出回应。

有人可以帮我解决这个问题吗?肯定有人知道如何使用 Wordpress walker 菜单。


这是使用此代码的方法,它将显示父级描述。 使用步骤。
1:将下面的类复制到functions.php文件中。
2:调用菜单如下

 wp_nav_menu(array(
      'menu_id'=>'',
      'menu_class'=>'',
      'container'=>'',
      'theme_location'=>'#enter theme location#',
      'walker'=> new customize_menu_walker()
    ));
<br/>

3:查看结果。

class customize_menu_walker extends Walker_Nav_Menu
{
 function start_el(&$output, $item, $depth, $args)
      {
           global $wp_query;
           $indent = ( $depth ) ? str_repeat( "\t", $depth ) : '';

           $class_names = $value = '';

          // $dbclasses=$item->classes;
           $classes = empty( $item->classes ) ? array() : (array) $item->classes;

           $dbclasses=$class_names = join( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item ) );
           $class_names = ' class="'. esc_attr( $class_names ) . '"';

           $attributes  = ! empty( $item->attr_title ) ? ' title="'  . esc_attr( $item->attr_title ) .'"' : '';
           $attributes .= ! empty( $item->target )     ? ' target="' . esc_attr( $item->target     ) .'"' : '';
           $attributes .= ! empty( $item->xfn )        ? ' rel="'    . esc_attr( $item->xfn        ) .'"' : '';
           $attributes .= ! empty( $item->url )        ? ' href="'   . esc_attr( $item->url        ) .'"' : '';



            $item_output = $args->before;

             //specially for two menu
             //specially for two menu
           //convert string to array
           $dbclassesArr = explode(" ",$dbclasses);

           $item_output .= '<a'. $attributes .'>';

           if(in_array("menu-item-has-children", $dbclassesArr)){
             $description  = ! empty( $item->description ) ? '<span>'.esc_attr( $item->description ).'</span>' : '';//description display here.
           }

            $item_output .= $args->link_before .apply_filters( 'the_title', $item->title, $item->ID );
            $item_output .= $description.$args->link_after;
            $item_output .= ' '.'</a>';
            $item_output .= $args->after;

            $output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args );
            }
}

现在更新此功能后,您的菜单将显示父菜单描述。 这是代码。

感谢您。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Wordpress walkers 显示父菜单项的描述? 的相关文章

  • 保存多对多关系,同步/附加不存在?

    我有以下两个多对多关系的模型 use Illuminate Database Eloquent Model class Permission extends Model The database table used by the mode
  • 检查 $_POST 数据

    我正在对表单进行一些垃圾邮件检查 下面的代码在我的本地主机上正常工作 如果为 true 则重定向到 google com 但是 当它在生产服务器上时却不起作用 执行脚本的其余部分并且不重定向到 Google com if POST SERV
  • php curl 使用 GET 发送变量 奇怪的结果

    我正在尝试调用远程站点上页面中的网址 决定使用curl 在远程站点上 url 变量显示为 REQUEST Array var1 gt val1 amp var2 gt val2 amp var3 gt val3 被调用的url是 http
  • php 数组中出现意外的 json 输出结构

    我正在尝试转换动态数据 如何从 PHP 获取此 JSON JSON 122240cb 253c 4046 adcd ae81266709a6 item 0 3 这就是我所做的 但它不起作用 PHP json array 122240cb 2
  • 免费 PHP 登录库 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 无法访问 localhost/xampp/index.php

    我刚刚安装了 Windows 7 的 XAMPP 控制面板似乎工作正常 我启动了 MySql 和 Apache 我遇到的问题是 当我在浏览器 Google Chrome 中输入 localhost 时 它会将我发送到 http localh
  • Xdebug V3 不会停止 VSCode 中的断点

    我正在尝试使用 VSCode 在 XAMPP 上进行调试 但没有成功 我知道有很多关于这个的问题 我已经尽了一切努力 但仍然行不通 我的 xdebug 扩展确实有一件奇怪的事情 我目前使用 PHP v7 4 12 和 Xdebug 版本 3
  • 使用 PHP/linux 将文件合并为单个 PDF

    我正在研究如何将多个 PDF 合并为一个 PDF 我正在寻找一个图书馆可靠且坚固尽可能 最好有一个库可以保留书签 鬼脚本 http pages cs wisc edu ghost 可以在保存书签的位置进行连接 但我遇到了麻烦 在一种情况下它
  • 如何在 JavaScript 中创建服务器端进度指示器?

    我想在我的网站中创建一个部分 用户可以在其中进行一些简单的操作update纽扣 这些中的每一个update按钮将发送到服务器 并在幕后进行长时间的处理 当服务器处理数据时 我希望用户有某种进度指示器 例如进度条或文本百分比 我使用 jQue
  • 将 cookie 设置为在当天结束时过期

    我想设置一个 cookie 并让它在一天结束时过期 这有效 但 24 小时后过期 setcookie route upgrade voted true time 86400 这不起作用 setcookie route upgrade vot
  • Facebook PHP-SDK 页面刷新后似乎丢失了 userID

    我似乎登录工作正常 我可以登录 接受应用程序 第一次 然后显示用户信息 例如姓名 图片 等 然而 当我刷新页面时 userid 又回到 0 我必须再次登录 我不确定问题是什么 我必须在每次页面加载时重新启动它还是什么 我不知道 我会发布一些
  • 带倒计时的php循环

    假设我从 400 开始计数器 我将如何执行一个向后运行直到 0 的 foreach 循环 伪代码 i 400 foreach SOMETHING do stuff i for i 400 i gt 0 i do stuff 其他方法 i 4
  • CodeIgniter:My_Lang 中的 get_instance

    我发现这个有用的国际化代码 http pastebin com SyKmPYTX http pastebin com SyKmPYTX 一切正常 除了我无法在此类中使用 CI 函数 我想从 DB 设置 languages 和 special
  • 使用PHP从doc、xls文件中读取数据

    我想知道是否可以从 doc 和 xls 文件中读取数据并将 将内容读取到图像文件中 创建文档的页面样本 例如 我有一些文件希望我的客户购买 所以我需要自动创建小图像 例如我的文档样本 我们将不胜感激您的帮助 对于读取 xls 文件 我真的推
  • php - 解析html页面

    div divbox div p para1 p p para2 p p para3 p table class table tr td td tr table p para4 p p para5 p 有人可以告诉我如何解析这个 html
  • 雄辩的第一个 where 子句

    我想知道 Laravel 如何实现雄辩的语法 以便可以静态调用第一个 where 子句User where User where id 23 gt where email email gt first 他们有吗public static f
  • Jquery一键提交多个同名表单

    我有动态创建的循环表单 我需要一键提交所有表单 我正在遵循下面的代码 你能建议我怎么做吗 谢谢
  • PHP session_regenerate_id 和黑莓浏览器

    问候 我正在开发一个登录系统 并陷入了黑莓浏览器身份验证的困境 他们似乎对 PHP 的 session regenerate id 有问题 有人可以建议替代方案吗 以下是身份验证和登录脚本 UPDATE看来会话一般都不起作用 拿出 sess
  • 使用会话 php 创建 cookie?

    我使用会话来登录我网站中的用户 问题是 我想让用户remember密码 因此关闭 打开浏览器后他们不需要再次登录 我需要使用 cookie 和 session 来实现它吗 my code user POST user pass POST p
  • 联系表格 7 自动添加 p 标签

    我在联系表单 7 编辑器中有下一个代码 div class row div class col sm 8 col sm offset 2 div class row div class col sm 4 text name class bo

随机推荐

  • 拖动时将标记/图钉保持在地图中间

    我希望当用户在地图上拖动时 标记 图钉可以滚动并位于地图的中心 我有一个简单的 jsfiddle http jsfiddle net upsidown 5xd1Lbpc 6 当用户停止拖动时 图钉将落到地图的中心 但我希望图钉随着拖动而移动
  • PayPal REST API“列出付款”不返回任何条目

    我正在尝试使用 PayPal REST API 来获取付款列表 通常这些付款是通过 eBay 进行的 当我尝试沙箱时 我可以获得一个令牌 然后按预期获得付款列表 但当我切换到实时列表时 列表总是空的 例如 使用卷曲 curl https a
  • 如何在 Android 上获取 google 用户名?

    我看过有关使用的参考AccountManager like 通过 Android 访问 Google 帐户 ID 用户名 不过好像是为了抢authtoken 我只需要访问用户名 不需要密码或任何身份验证令牌 我使用的是android 2 1
  • 为什么 PHP 严格类型允许函数参数的类型错误?

    我正在使用 PHP 7 4 16 我启用了strict types在我的 PHP 文件中 认为它会阻止传递string函数的参数期望int通过扔一个TypeError 然而 该函数实际上接受string并将其强制为int 但是 如果我在函数
  • Bootstrap Offcanvas 导航 - 关闭时不重置背景

    我在 offcanvas div 中有一个很长的链接列表 这些在表单中是因为我想使用它们来导航很长的背景页面 实际上 它是一个目录 画布愉快地弹出 导航链接有效 将背景页面跳转到正确的位置 欢呼 但是 当您选择并链接并导航背景页面到某个位置
  • 导出时 React.Component 是默认扩展吗?

    我正在浏览一些 React 项目 有时会看到 export default gt 但其他时候我看到 export default class Entry extends React Component 两者之间有什么区别吗 导出是否自动扩展
  • 转换 QString 以在 SQL 查询中使用

    我想根据用户输入生成 SQL 查询 以便将一些数据插入数据库 用户可以输入任何内容 Qt 有没有办法将此类用户输入转换为字符串类型值字段 用户可以输入任何内容 这并没有给我们太多参考 但我可以给你一个例子来说明如何设置基本的插入查询 I a
  • 当对存在的目录使用 ListDirectoryDe​​tails 时,FtpWebRequest 返回“550 文件不可用(例如,文件未找到,无法访问)”

    我有一个恼人的问题 阻止我在 FTP 中获取所需的文件 该文件可能有不同的名称 因此我需要首先访问该文件夹并列出其中的文件 然后直接向该文件发出请求 我的问题是 我可以在 Filezilla 中访问此文件 并且也可以完美地发现该文件夹 但是
  • jQuery Mobile 列表上的多个拆分按钮

    jQuery 移动列表中是否可以有多个拆分按钮 我尝试这样做 ul li a href 1 a a href a a href a li ul 但这不起作用 将链接包装在 div div
  • Android 中有波斯(Shamsi 或 Jalali)日历的库或算法吗? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我想转换公历 西方 日期至Persian Shamsi 日期 反之亦然 适用于所有版本的 Android 有没有完整可靠的库或算法 我使用这个算法很
  • 圆形区域内的查询点

    Here is a picture to illustrate the problem 图中有一些特征点显示为蓝色十字 我知道坐标 x y 对于所有功能 现在我想查询哪些要素在圆圈区域 绿色圆圈 内 实际上 大约有 500 个特征和 300
  • VStack 有最大限制吗?

    我从一个干净的项目开始 在 VStack 中添加了 5 个按钮和 5 个垫片 一切都很好 当我在底部添加第 6 个间隔符时 代码突然无法编译 并出现错误 对成员 buildBlock 的引用不明确 是什么导致了这个错误 这是与 SwiftU
  • PairRDD 的总和值

    我有一个 RDD 类型 dataset org apache spark rdd RDD String Double MapPartitionRDD 26 这相当于 Pedro 0 0833 Hello 0 001828 我想总结所有的价值
  • 触发系统音量条

    是否可以通过按我的按钮Activity让音量条出现 音量条是当您按下硬件音量按钮之一时出现的视图 是否有 API 函数可以执行此操作 或者我是否必须手动重新创建该视图 如果调用 setStreamVolume 请传递标志 FLAG SHOW
  • 无法在 UserControl 上设置 x:Name="Root"

    我尝试将 x Name 属性设置为 UserControl 的定义 以便稍后将其用于内部绑定
  • Spark:线程“主”java.lang.ClassNotFoundException中的异常:com.mysql.jdbc.Driver

    我在 Spark 中编写了简单的程序 将数据帧写入 mySql 中的表 程序如下 import org apache spark SparkConf import org apache spark SparkContext import o
  • Sparql查询:查找具有相同属性对象的对象

    假设我们有一个如下所示的数据集 person wantsCD cd1 wantsCD cd2 storeA sellsCD cd1 sellsCD cd2 sellsCD cd3 storeB sellsCD cd1 sellsCD cd1
  • Cucumber:如何从外部 Excel 文件中读取场景大纲的示例

    我的要求是从外部 Excel 文件读取示例 而不是将其硬编码到功能文件中 我有 100 多个示例 这些示例很难在功能文件中维护 你能帮我解决这个问题吗 这是我的场景 Scenario Outline Browser Test When I
  • MinGW编译“文件无法识别:文件格式无法识别”

    我正在尝试编译 C 程序 但遇到一些问题 特别是 当我使用 x86 64 w64 mingw32 gcc 作为编译器时 它在编译过程中抱怨说 tmp src libfastms solver solver cpp o 文件无法识别 文件格式
  • 如何使用 Wordpress walkers 显示父菜单项的描述?

    有什么方法可以将变量从 start el 传递到 start lvl 吗 我想将菜单描述放在子菜单项的包装中 class submenu walker extends Walker Nav Menu function start lvl o