Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wordpress 向wp_导航_菜单中的菜单项添加id_Wordpress - Fatal编程技术网

Wordpress 向wp_导航_菜单中的菜单项添加id

Wordpress 向wp_导航_菜单中的菜单项添加id,wordpress,Wordpress,我正在使用Wordpress中的wp_nav_菜单创建我的导航 输出与此类似(我已删除href链接) 我需要分别设置每个链接的样式 如何向菜单中的每个(li)或(a)添加id,以便对其进行样式设置。对于a标记,您可以通过在主题的function.php文件中写入函数来添加id属性,并连接到导航菜单链接属性过滤器 查看WordPress core的网址: 对于li标记,可以使用nav\u菜单项\u id过滤器修改id属性 function my_li_id_handler ($

我正在使用Wordpress中的wp_nav_菜单创建我的导航

输出与此类似(我已删除href链接)


我需要分别设置每个链接的样式


如何向菜单中的每个(li)或(a)添加id,以便对其进行样式设置。

对于
a
标记,您可以通过在主题的function.php文件中写入函数来添加id属性,并连接到
导航菜单链接属性
过滤器

查看WordPress core的网址:

对于
li
标记,可以使用
nav\u菜单项\u id
过滤器修改id属性

function my_li_id_handler ($id, $item, $args) {
 //the $item variable is a WP_Post instance...handy properties are $item->post_title, $item->post_name and $item->menu_order
 //do your id nomenclature work here.
 return $id;
}
add_filter('nav_menu_item_id','my_li_id_handler', 10, 3);

您可以从wordpress中为每个菜单项添加一个类。转到“外观”-->“菜单”-->然后在屏幕选项面板中,单击复选框以激活“CSS类”。从那里,您可以为您的菜单项指定唯一的选择器,使CSS成为目标。

这是最简单的方法。最好不要使用钩子,除非你真的需要它。了解钩子非常有用,但(目前)不允许按要求设置
id
属性。
function my_id_attribute ($atts, $item, $args) {
  //develop your anchor tag ID nomenclature I'll call it $id
  $atts['id'] = $id;
  return $atts;
  }
add_filter('nav_menu_link_attributes', 'my_id_attribute', 10, 3);
function my_li_id_handler ($id, $item, $args) {
 //the $item variable is a WP_Post instance...handy properties are $item->post_title, $item->post_name and $item->menu_order
 //do your id nomenclature work here.
 return $id;
}
add_filter('nav_menu_item_id','my_li_id_handler', 10, 3);