Как создавать Walker для будущей поддержки сторонними разработчиками?
Подскажите, при создании волкера должен ли я обеспечивать работоспособность параметров, которые передаются в функцию?
Приведу пример, что я имею ввиду.
Я создал свой волкер для функции wp_list_categories. Разработчиками вордпресса предусмотрен параметр style, который позволяет обернуть каждый элемент тегом <li>, либо просто отделять ссылки тегом <br>. В оригинальном классе для этого есть проверка:
public function start_lvl( &$output, $depth = 0, $args = array() ) { if ( 'list' !== $args['style'] ) { return; } $indent = str_repeat( "\t", $depth ); $output .= "$indent<ul class='children'>\n"; }
В моей верстке железно все ссылки должны быть внутри маркированного списка, поэтому эту часть кода из своего волкера я могу просто выбросить:
if ( 'list' !== $args['style'] ) { return; }
Но в этом случае человек, который в будущем будет поддерживать мой код, при попытке передать параметр style в функцию столкнется с тем, что функция работает не так, как описано в документации.
Естественно, это не единственное изменение, которое я хочу сделать. В волкере будет минимум кода, который требуется для внедрения конкретной верстки. И в этом случае большинство передаваемых параметров, описанных в документации, станут бесполезными.
Правильно ли так делать?
Если класс волкера подключается в теме и тема не нуждается в дополнительных параметрах, то не вижу смысла их поддерживать.