Php 将自定义ul注入菜单
因此,我使用一个很酷的小功能来呈现我菜单中的搜索栏。在这里查看:Php 将自定义ul注入菜单,php,html,css,wordpress,menubar,Php,Html,Css,Wordpress,Menubar,因此,我使用一个很酷的小功能来呈现我菜单中的搜索栏。在这里查看: function add_search_to_wp_menu ( $items, $args ) { if( 'main-menu' === $args -> theme_location ) { $items .= '<li class="menu-item menu-item-search">'; $items .= '<form method="get" class="menu-sea
function add_search_to_wp_menu ( $items, $args ) {
if( 'main-menu' === $args -> theme_location ) {
$items .= '<li class="menu-item menu-item-search">';
$items .= '<form method="get" class="menu-search-form" action="' . get_bloginfo('home') . '/"><p><input class="text_input" type="text" value="Enter Text & Click to Search" name="s" id="s" onfocus="if (this.value == \'Enter Text & Click to Search\') {this.value = \'\';}" onblur="if (this.value == \'\') {this.value = \'Enter Text & Click to Search\';}" /><input type="submit" class="my-wp-search" id="searchsubmit" value="search" /></p></form>';
$items .= '</li>';
}
return $items;
}
add_filter('wp_nav_menu_items','add_search_to_wp_menu',10,2);
功能将搜索添加到菜单($items,$args){
如果('main menu'==$args->theme\u位置){
$items.=';
$items.='';
$items.=' ';
}
退回$items;
}
添加过滤器(“工作包导航菜单项”,“将搜索添加到工作包菜单”,10,2);
我没有成功,但它成功了
所以唯一的问题是它出现在最高层:
<ul>
<li>Normal Item</li>
<li>OH LOOOK THE SEATCHBAR APPEARS HERE</li>
</ul>
- 正常项目
- 哦,好了,这里出现了座位
问题是,我需要它在菜单中再显示几步,即-此处:
<ul>
<li>
Normal Item
<ul>
<li>
I want THE SEARCH to appear here
</li>
<ul>
</li>
</ul>
-
正常项目
-
我希望搜索显示在这里
不仅如此,我希望它出现在菜单中最后一个之后
也就是说,如果我有一个包含3个普通项目和它们自己的子项目的列表,一旦注入,它就会像这样:
<ul>
<li>
Normal Item1
</li>
<li>
Normal Item2
</li>
<li>
Normal Item3
</li>
<li>
Normal Item
<ul>
<li>
I want THE SEARCH to appear here
</li>
<ul>
</li>
</ul>
-
正常项目1
-
正常项目2
-
正常项目3
-
正常项目
-
我希望搜索显示在这里
希望这是有道理的。谢谢你的帮助 又快又脏的黑客。它会(也许,需要调整)工作,但你必须摆弄代码和抄本(答案底部的参考),否则你就不会再做了
function add_search_to_wp_menu_item ( $items, $args ) {
$search_form = '<ul><li class="menu-item menu-item-search">'
. '<form method="get......./form>' // FILL IT WITH YOUR HTML
.'</li></ul></li>';
if( 'main-menu' === $args -> theme_location ) {
$items = preg_replace('/<\/li>\s*$/',$search_form,trim($items));
}
return $items;
}
add_filter('wp_nav_menu_items','add_search_to_wp_menu_item',10,2);
函数将搜索添加到菜单项($items,$args){
$search\u form='- '
“太棒了!它工作得很好。现在我对PHP不是很了解,我正在努力:'/\s*$/'我知道你在搜索 我该如何搜索
?@BenPotter
'/\s*$/'
是一种语言,它不仅限于PHP,因为它有几种语言。准确地说,它本身就是一种语言……这条评论开始变得很有趣。”太小了一点。我将编辑答案instead@BenPotter/\s*/
或/\s*/\s*$
仅选择字符串末尾的一个