Как применить класс 'current_page_item' к странице архива в `wp_list_pages ()`?

Поэтому у меня есть следующий пользовательский wp-query работающий на моем сайте:

 function custom_front_page($wp_query){ if($wp_query->get('page_id')==get_option('page_on_front')){ $wp_query->set('post_type','album'); $wp_query->set('page_id',''); // empty // fix conditional functions $wp_query->is_page = false; $wp_query->is_front_page = true; $wp_query->is_archive = true; $wp_query->is_post_type_archive = true; } } add_action('pre_get_posts','custom_front_page'); 

однако изменение запроса таким образом сохраняет ссылку на страницу в моем wp_list_pages() nav от получения класса current_page_item (он больше не считает, что это страница вообще).

Как я могу обойти это?

PS Я знаю, что могу сделать отдельную ссылку и применить класс условно, но есть ли способ изменить вышеприведенную функцию или вызов wp_list_pages() ?

Вы можете использовать следующий фильтр:

 add_filter('wp_list_pages', 'foo_bar'); function foo_bar($html){ //Create a regex pattern to identify the LI element with preg_match //Create another pattern to identify the class attr and alter it with preg_replace return $html; } 

Поскольку я не знаком с точными элементами, с которыми вы работаете, я не могу написать для вас регулярное выражение. Теоретически, следующие шаги должны работать на вас.