menu_item_parent ) ) { $pattern_search = '/(?:(menu_item_parent . '")+[\s\S]+?class=")([\s\S]+?)(">))/'; $regex_search = preg_match_all( $pattern_search, $output, $matches ); if ( $regex_search > 0 && is_array( $matches[0] ) ) { $search_class_pattern = '/(class=")([\s\S]*)(")/'; foreach ( $matches[0] as $key => $match ) { $selector = array( 'have-child' ); $exploded_class = explode( ' ', $matches[2][ $key ] ); $merge = array_unique( array_merge( $exploded_class, $selector ) ); $new_class = implode( ' ', $merge ); preg_match( $search_class_pattern, $match, $tag_match ); $output = preg_replace( $pattern_search, '$1' . $new_class . '$3', $output ); } } } $output .= preg_replace( '/(?=<(fieldset|p)[^>]+class="[^"]*field-move)/', $this->get_fields( $item ), $item_output ); } /** * Get additional option rendered on Menu * * @return string */ public function get_fields() { ob_start(); ?>