Php 如何根据url突出显示菜单项?
我正在使用并且已经通过WCFM前端管理器提供的快捷码创建了wordpress页面。这一页附有菜单。短代码创建其他页面作为端点,这些端点是动态创建的 主页是Php 如何根据url突出显示菜单项?,php,wordpress,woocommerce,Php,Wordpress,Woocommerce,我正在使用并且已经通过WCFM前端管理器提供的快捷码创建了wordpress页面。这一页附有菜单。短代码创建其他页面作为端点,这些端点是动态创建的 主页是example.com/store manager/,在“页面”选项中可用,并且有一个通过主题>外观>菜单分配的菜单 我创建了一个菜单项“Products”,它是一个基于端点urlexample.com/store manager/Products的自定义链接,具有一个菜单项id 77。因此,每当单击“Products”时,它就会突出显示并进入
example.com/store manager/
,在“页面”选项中可用,并且有一个通过主题>外观>菜单分配的菜单
我创建了一个菜单项“Products”,它是一个基于端点urlexample.com/store manager/Products
的自定义链接,具有一个菜单项id 77。因此,每当单击“Products”时,它就会突出显示并进入example.com/store manager/Products
端点
我想突出显示端点URL的菜单项“Products”,如example.com/store manager/Products manage
或example.com/store manager/Products import
尝试过的方法
add_filter( 'nav_menu_css_class', 'my_special_nav_class', 10, 2 );
function my_special_nav_class( $classes, $item ) {
global $WCFM, $WCFM_Query, $wp_query;
if ('custom' === $item->type && 'Products' === $item->title && is_page('products-manage')){
$classes[] = 'current-menu-item';
}
return $classes;
}
使用项目id 77的另一种方法
function my_special_nav_class( $classes, $item ) {
global $WCFM, $WCFM_Query, $wp;
if ( 77 == $item->ID && is_page( 'products-manage' ) ) {
$classes[] = 'current-menu-item';
}
return $classes;
}
add_filter( 'nav_menu_css_class', 'my_special_nav_class', 10, 2 );
使用$endpoint
变量的另一种方法
function my_special_nav_class( $classes, $item, $endpoint ) {
global $WCFM, $WCFM_Query, $wp;
if ( $endpoint == 'wcfm-products-manage' ) {
$classes[] = 'current-menu-item';
}
return $classes;
}
add_filter( 'nav_menu_css_class', 'my_special_nav_class', 10, 2 );
$endpoint
导致白色屏幕死亡,没有错误消息、内容和菜单项
我已经在
用户名:demo密码:demo 登录时,如果单击“产品”,它将突出显示,现在当单击产品页面中的任何其他按钮时,例如,单击
添加新的时,将调用产品管理端点,但我希望此端点的“产品”菜单也将突出显示
问题:我无法定位端点,因此是否有方法根据端点URL突出显示“产品”菜单项。
系统信息:
Wordpress 5.7
Woocommerce 5.1
WC前端管理器(创建[wcfm商店管理器]
短代码的插件)
WCFM市场