当我们在nav\\u menu\\u css\\u类的参数中给出$depth时,它给出了参数错误。这是我的代码:
add_filter( \'nav_menu_css_class\' , \'eodwp_menu_item_class\',10 ,3 );
function eodwp_menu_item_class( $classes, $item, $args, $depth) {
print_r($depth);
if ($depth == 0) {
$classes= array(\'dropdown\');
print_r($classes);
}
else {
$classes= array(\'dropdown-item\');
}
return $classes;
}
致命错误:Uncaught ArgumentCounter错误:函数eodwp\\u menu\\u item\\u class()的参数太少,在C:\\xampp\\htdocs\\akeo\\u template\\wordpress\\wp includes\\class wp hook中传递了3个。第289行的php和C:\\xampp\\htdocs\\akeo\\u-template\\wordpress\\wp-content\\themes\\akeo-Tech\\functions中预期的正好4。php:27堆栈跟踪:#0 C:\\xampp\\htdocs\\akeo\\u template\\wordpress\\wp includes\\class wp hook。php(289):eodwp\\u menu\\u item\\u class(Array,Object(WP\\u Post),Object(stdClass))\\1 C:\\xampp\\htdocs\\akeo\\u template\\wordpress\\WP includes\\plugin。php(206):WP\\u Hook->apply\\u filters(Array,Array)#2 C:\\xampp\\htdocs\\akeo\\u template\\wordpress\\WP includes\\class walker nav menu。php(153):apply\\u filters(\'nav\\u menu\\u css\\u cl…\',Array,Object(WP\\u Post),Object(stdClass),0)\\35; 3 C:\\xampp\\htdocs\\akeo\\u template\\wordpress\\WP includes\\class WP walker。php(144):Walker\\u Nav\\u菜单->start\\u el(“”,Object(WP\\u Post),0,Object(stdClass))\\4 C:\\xampp\\htdocs\\akeo\\u template\\wordpress\\WP includes\\class WP Walker。php(244):Walker->display\\u元素(对象(WP\\u Post),数组,0,0,数组“”)\\35; 5 C:\\x in C:\\xampp\\htdocs\\akeo\\u template\\wordpress\\WP content\\themes\\akeo Tech\\functions。php在线27
最合适的回答,由SO网友:Jacob Peattie 整理而成
最后一个参数中的数字add_filter()
需要匹配回调函数接受的参数数。您的函数现在接受4个参数:
function eodwp_menu_item_class( $classes, $item, $args, $depth) {
所以最后一个数字需要
4
:
add_filter( \'nav_menu_css_class\', \'eodwp_menu_item_class\', 10, 4 );