Php 将活动类添加到Wordpress中当前选定的锚点
如何在Wordpress中将活动类添加到我的锚中?目前的代码如下:Php 将活动类添加到Wordpress中当前选定的锚点,php,html,css,wordpress,Php,Html,Css,Wordpress,如何在Wordpress中将活动类添加到我的锚中?目前的代码如下: $args = array( 'theme_location' => 'primary', 'container' => 'div', 'container_class' => 'collapse navbar-collapse', 'menu_class' => 'nav navbar-nav navbar-right' ); wp_nav_menu( $args );
$args = array(
'theme_location' => 'primary',
'container' => 'div',
'container_class' => 'collapse navbar-collapse',
'menu_class' => 'nav navbar-nav navbar-right'
);
wp_nav_menu( $args );
我得到每个菜单项的输出:
<li id="menu-item-42" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-42">
<a href="http://localhost:8888/axial/services/">Services</a>
</li>
但我希望“a”标记有一个“active”类,如下所示:
<li id="menu-item-42" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-42">
<a class="active" href="http://localhost:8888/axial/services/">Services</a>
</li>
只需将此代码粘贴到functions.php文件中:
add_filter('nav_menu_css_class','special_nav_class',10,2);
功能特殊导航类($classes,$item){
if(在数组中('current-menu-item',$classes)){
$classes[]=“活动”;
}
返回$classes;
}
只需将此代码粘贴到functions.php文件中:
add_filter('nav_menu_css_class','special_nav_class',10,2);
功能特殊导航类($classes,$item){
if(在数组中('current-menu-item',$classes)){
$classes[]=“活动”;
}
返回$classes;
}
今天,我们大部分时间都要处理wordpress中的下拉菜单,因此,为了即兴回答上述问题,您可以使用:
add_filter('nav_menu_css_class', 'add_active_class', 10, 2 );
function add_active_class($classes, $item) {
if( $item->menu_item_parent == 0 && in_array('current-menu-item', $classes) ) {
$classes[] = "active";
}
return $classes;
}
you can add active class for child elements using the below code:
add_filter('nav_menu_css_class', 'add_active_class', 10, 2 );
function add_active_class($classes, $item)
{
if( in_array( 'current-menu-item', $classes ) ||
in_array( 'current-menu-ancestor', $classes ) ||
in_array( 'current-menu-parent', $classes ) ||
in_array( 'current_page_parent', $classes ) ||
in_array( 'current_page_ancestor', $classes ))
{
$classes[] = "active";
}
return $classes;
}
今天,我们大部分时间都要处理wordpress中的下拉菜单,因此,为了即兴回答上述问题,您可以使用:
add_filter('nav_menu_css_class', 'add_active_class', 10, 2 );
function add_active_class($classes, $item) {
if( $item->menu_item_parent == 0 && in_array('current-menu-item', $classes) ) {
$classes[] = "active";
}
return $classes;
}
you can add active class for child elements using the below code:
add_filter('nav_menu_css_class', 'add_active_class', 10, 2 );
function add_active_class($classes, $item)
{
if( in_array( 'current-menu-item', $classes ) ||
in_array( 'current-menu-ancestor', $classes ) ||
in_array( 'current-menu-parent', $classes ) ||
in_array( 'current_page_parent', $classes ) ||
in_array( 'current_page_ancestor', $classes ))
{
$classes[] = "active";
}
return $classes;
}
您可以使用CSS来实现这一点 您可以使用默认情况下添加的当前菜单项类
/*您必须像这样添加活动菜单项样式*/
a{
填充物:5px;
字体系列:arial;
颜色:#333;
文字装饰:无;
}
.navbar right ul li{
显示:内联块;
列表样式类型:无;
边框:1px实心#bbb;
填充物:5px;
}
.navbar right li.current-menu-item>a{
颜色:#fff;
背景:#bbb ;;
/*可以在此处添加活动锚样式*/
}
您可以使用CSS实现这一点
您可以使用默认情况下添加的当前菜单项类
/*您必须像这样添加活动菜单项样式*/
a{
填充物:5px;
字体系列:arial;
颜色:#333;
文字装饰:无;
}
.navbar right ul li{
显示:内联块;
列表样式类型:无;
边框:1px实心#bbb;
填充物:5px;
}
.navbar right li.current-menu-item>a{
颜色:#fff;
背景:#bbb ;;
/*可以在此处添加活动锚样式*/
}
是的,这是可能的,请尝试下面的代码:
function add_class_to_href( $classes, $item ) {
if ( in_array('current_page_item', $item->classes) ) {
$classes['class'] = 'active';
}
return $classes;
}
add_filter( 'nav_menu_link_attributes', 'add_class_to_href', 10, 2 );
是的,这是可能的,请尝试以下代码:
function add_class_to_href( $classes, $item ) {
if ( in_array('current_page_item', $item->classes) ) {
$classes['class'] = 'active';
}
return $classes;
}
add_filter( 'nav_menu_link_attributes', 'add_class_to_href', 10, 2 );
我也面临同样的问题,在搜索了许多页面后,我只能找到我必须使用jquery代码设置的解决方案。因此,我在我的页面“.current\u page\u item”中发现了一个独特的类添加项,您可能有相同的或“.current\u menu\u item”等。。因此,只需在页脚中包含以下jquery代码,页面就可以正常工作
$(".current_page_item a").addClass("active");
这会解决你的问题。我也面临同样的问题,在搜索了许多页面后,我只能找到我必须使用jquery代码设置的解决方案。因此,我在我的页面“.current\u page\u item”中发现了一个独特的类添加项,您可能有相同的或“.current\u menu\u item”等。。因此,只需在页脚中包含以下jquery代码,页面就可以正常工作
$(".current_page_item a").addClass("active");
执行此操作将解决您的问题。您可以将“导航链接”类添加到所有锚定标记,而当前菜单项上只有使用此代码才能有“活动”类
/**
* Add CSS class for "<a>" tags in menu
*/
function your_theme_add_menu_link_class( $classes, $item ) {
$classes['class'] = "nav-link"; // Add class to every "<a>" tags
if ( in_array('current_page_item', $item->classes) ) {
$classes['class'] = 'nav-link active'; // Add class to current menu item's "<a>" tag
}
return $classes;
}
add_filter( 'nav_menu_link_attributes', 'your_theme_add_menu_link_class', 10, 2 );
/**
*为菜单中的“”标记添加CSS类
*/
功能您的主题添加菜单链接类($classes,$item){
$classes['class']=“导航链接”;//将类添加到每个“”标记
if(在数组中('current_page_item',$item->classes)){
$classes['class']='nav link active';//将类添加到当前菜单项的“”标记
}
返回$classes;
}
添加过滤器(“导航菜单链接属性”、“您的主题添加菜单链接类”,10,2);
您可以将“导航链接”类添加到所有锚定标记中,而当前菜单项上只有使用此代码才有“活动”类
/**
* Add CSS class for "<a>" tags in menu
*/
function your_theme_add_menu_link_class( $classes, $item ) {
$classes['class'] = "nav-link"; // Add class to every "<a>" tags
if ( in_array('current_page_item', $item->classes) ) {
$classes['class'] = 'nav-link active'; // Add class to current menu item's "<a>" tag
}
return $classes;
}
add_filter( 'nav_menu_link_attributes', 'your_theme_add_menu_link_class', 10, 2 );
/**
*为菜单中的“”标记添加CSS类
*/
功能您的主题添加菜单链接类($classes,$item){
$classes['class']=“导航链接”;//将类添加到每个“”标记
if(在数组中('current_page_item',$item->classes)){
$classes['class']='nav link active';//将类添加到当前菜单项的“”标记
}
返回$classes;
}
添加过滤器(“导航菜单链接属性”、“您的主题添加菜单链接类”,10,2);
这很有效,谢谢,但这是我想添加类的锚点,而不是