- objective-c - iOS 5 : Can you override UIAppearance customisations in specific classes?
- iphone - 如何将 CGFontRef 转换为 UIFont?
- ios - 以编程方式关闭标记的信息窗口 google maps iOS
- ios - Xcode 5 - 尝试验证存档时出现 "No application records were found"
我正在寻找一种方法来创建可以添加到菜单的新项目。
以下是我的问题的详细信息:我使用 WPML。 WPML 有一个很好的功能,您可以自动将切换器添加到菜单中。它将它添加到菜单的末尾,无法对其进行控制。
问题是,我希望我的语言切换器是 6 个元素中的第 4 个元素。在末尾自动添加元素的功能不符合我的需要。
所以我想创建一个可以在外观->菜单中使用的新元素,以将我的语言切换器准确地放在我想要的位置。
有什么办法吗?
TLDR:我希望能够在菜单元素(Apparence->Menu)中推送自定义 HTML/PHP 代码。有什么功能可以这样做吗?
最佳答案
来自 wp-includes/nav-menu-template.php
, 在 Walker_Nav_Menu::start_el
:
/**
* Filter a menu item's starting output.
*
* The menu item's starting output only includes `$args->before`, the opening `<a>`,
* the menu item's title, the closing `</a>`, and `$args->after`. Currently, there is
* no filter for modifying the opening and closing `<li>` for a menu item.
*
* @since 3.0.0
*
* @param string $item_output The menu item's starting HTML output.
* @param object $item Menu item data object.
* @param int $depth Depth of menu item. Used for padding.
* @param array $args An array of {@see wp_nav_menu()} arguments.
*/
$output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args );
这意味着您可以使用该过滤器将 HTML 内容附加到单个导航菜单项(就在最后一个 li
标记之前)。 $item_output
包含到目前为止为项目生成的 HTML。示例:
<?php
add_filter('walker_nav_menu_start_el', function ($item_output) {
return $item_output . '<span>hello world</span>';
});
这将追加 <span>hello world</span>
到每个导航菜单项 HTML。收盘li
标签将附加在此过滤器之后。您可以使用第四个参数 ( $args
) 来验证当前呈现的导航菜单。
关于php - 创建新菜单项 - Wordpress,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33572721/
我正在创建一个项目来使用评级系统评估不同的产品,但由于我是新手,所以我有几个问题。 首先,为了实现这个目标,我创建了一个 ListView ,它允许我使用从该数据库获取的 JSON 代码显示 MySQ
在对学校的大型作业进行故障排除时,我发现了一个错误,我将单个项目列表(包含一个项目的堆栈)视为单个项目。我解决了我的问题,但是在进一步的测试中我注意到一些奇怪的事情: 48 ?- 1 is [1].
嘿,我正在修改我在 Internet 上找到的示例应用程序。 (学习2破解)我想在我的 ReclycerView 中获取单行的 ID。这是代码。 主要 private void initVie
我在一个项目中使用 ASP.NET MVC SiteMap 提供程序,它运行良好。但是,我很难弄清楚如何隐藏菜单项。我想在全局导航中隐藏的菜单项是我的“站点地图”页面。现在我知道有一个东西叫做 Vis
我是一名优秀的程序员,十分优秀!