Obtendo erro de stripos ao tentar adicionar classs de menu

Estou usando um tema personalizado que está fazendo algo que bloqueia Classes de menus personalizadas (as opções opcionais que você pode inserir dentro do painel de menus) para imprimir em HTML.

  1. Eu encontrei no código onde eles estão adicionando classs à tag li . Então eu tentei adicionar esta linha de código:

$li->addClass($classs);

Esse seria o código correto para usar para puxar o campo da class no painel do menu? Se então..

Eu fiz isso e recebi esse erro:

Warning: stripos() [function.stripos]: needle is not a string or an integer in file-path/file.php on line 397

Aqui está esse bloco de código: (notei acima da linha a referência de aviso)

 protected static function attrClass($action, DOMNode $node, $class) { $classs = $node->getAttribute('class'); /* error found in line below */ $found = stripos($classs, $class) !== false && in_array(strtolower($class), explode(' ', strtolower($classs))); if ($action == 'has') { return $found; } if ($action == 'toggle') { $action = $found ? 'remove' : 'add'; } if ($action == 'add' && !$found) { $node->setAttribute('class', trim(preg_replace('/\s{2,}/i', ' ', $classs.' '.$class))); } if ($action == 'remove' && $found) { $classs = trim(preg_replace('/\s{2,}/i', ' ', preg_replace('/(^|\s)'.preg_quote($class, '/').'(?:\s|$)/i', ' ', $classs))); if ($classs !== '') { $node->setAttribute('class', $classs); } else { $node->removeAttribute('class'); } } return $node; } 

Não sei o que está acontecendo e o que eu preciso fazer em seguida, para que funcione a function de class personalizada.

Nota: Ainda aprendendo wordpress / php, então, se eu estivesse faltando qualquer informação necessária, sinto muito e vou publicar se você pedir. Tentando ser o mais completo possível!

-edit- Aqui está o bloco de código onde eu tentei adicionar $li->addClass($classs); (Eu notei antes disso novamente)

 class WarpMenuDefault extends WarpMenu { /* Function: process Returns: Object */ public function process($module, $element) { self::_process($module, $element->first('ul:first')); return $element; } /* Function: _process Returns: Void */ protected static function _process($module, $element, $level = 0) { if ($level == 0) { $element->attr('class', 'menu '.$module->menu_style); } else { $element->addClass('level'.($level + 1)); } foreach ($element->children('li') as $li) { // is active ? if ($active = $li->attr('data-menu-active')) { $active = $active == 2 ? ' active current' : ' active'; } // is parent ? $ul = $li->children('ul'); $parent = $ul->length ? ' parent' : null; // set class in li $li->attr('class', sprintf('level%d item%s'.$parent.$active, $level + 1, $li->attr('data-id'),$class)); /* Here's the line I added*/ $li->addClass($classs); // set class in a/span foreach ($li->children('a,span') as $child) { // get title $title = $child->first('span:first'); // set subtile $subtitle = $title ? explode('||', $title->text()) : array(); if (count($subtitle) == 2) { $li->addClass('hassubtitle'); $title->html(sprintf('%s%s', trim($subtitle[0]), trim($subtitle[1]))); } // set image if ($image = $li->attr('data-menu-image')) { $title->prepend(sprintf(' ', $image)); } $child->addClass(sprintf('level%d'.$parent.$active, $level + 1)); } // process submenu if ($ul->length) { self::_process($module, $ul->item(0), $level + 1); } } } 

}

Solutions Collecting From Web of "Obtendo erro de stripos ao tentar adicionar classs de menu"