繁体   English   中英

如何为Wordpress菜单锚添加唯一类?

[英]How to add unique class to Wordpress menu anchor?

我有这个function

function my_walker_nav_menu_start_el($item_output, $item, $depth, $args) {
    // you can put your if statements in here (use item, depth and args in conditions)
    $item_output = preg_replace('/<a /', '<a class="your-class" ', $item_output, 1);
    return $item_output;
}
add_filter('walker_nav_menu_start_el', 'my_walker_nav_menu_start_el', 10, 4);

一切正常,因为它正在菜单中所有anchors上设置一个类。 问题是:它在所有锚点上都设置了相同的类。 我想要每个锚定不同的类。 那可能吗? 如果是这样,我该怎么做?

编辑->我想要这样:

<li><a class="icon-bird"></a></li>
<li><a class="icon-book"></a></li>
<li><a class="icon-red"></a></li>

假设$item包含您的值(鸟,书,红色等):

function my_walker_nav_menu_start_el($item_output, $item, $depth, $args) {
    $item_output = preg_replace('/<a /', '<a class="item-' . $item . '"', $item_output, 1);
    return $item_output;
}
add_filter('walker_nav_menu_start_el', 'my_walker_nav_menu_start_el', 10, 4);

我使用了上面的代码并进行了一些更改,这对我来说是有效的,您可以尝试以下步骤:

您可以按照以下步骤操作:

步骤1:在wp-admin中,转到外观->菜单,将类放在菜单项“ CSS类(可选)”中。 如果在菜单项中看不到“ CSS类(可选)”,则屏幕右上方有“屏幕选项”,而在“显示高级菜单属性”下有“ CSS类”选项

第2步:在您的他们folder / function.php下添加以下代码:

 function my_walker_nav_menu_start_el($item_output, $item, $depth, $args) {
    $class= $item->classes['0'];
    $item_output = preg_replace('/<a /', '<a class="'.$class.'"', $item_output, 1);
    return $item_output;
 }
add_filter('walker_nav_menu_start_el', 'my_walker_nav_menu_start_el', 10, 4);

希望上面的代码对您有用,让我知道它是否仍然无效。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM