Удаление циклических ссылок из меню и списка рубрик

Очень похожий код.

Как превратить эти две функции в одну?


// Удаление из меню ссылки на текущую страницу

function nav_menu_no_link($no_link) {

$gg_mk = '!<li(.*?)class="(.*?)current_page_item(.*?)"><a(.*?)>(.*?)!si';

$dd_mk = '<li$1class="\\2current_page_item\\3">$5';

return preg_replace($gg_mk, $dd_mk, $no_link );

}

add_filter('wp_nav_menu', 'nav_menu_no_link');
// Удаление из списка рубрик ссылки на текущую страницу

function list_categories_no_link($no_link) {

$gg_mk = '!<li(.*?)class="(.*?)current-cat(.*?)"><a(.*?)>(.*?)!si';

$dd_mk = '<li$1class="\\2current-cat\\3">$5';

return preg_replace($gg_mk, $dd_mk, $no_link );

}

add_filter( 'wp_list_categories', 'list_categories_no_link');

Добавить Комментарий

Если честно не понятен в чем вопрос(или для чего это)? В каком случае у вас не получается убрать ссылку на текущею страницу?

Всё работает хорошо.
Моя цель — сократить код.

в 01.05.2016.

Тогда никак. События же разные(wp_list_categories, wp_nav_menu )

в 02.05.2016.

Вот очень похожее решение, которое не работает то ли относительно меню, то ли относительно рубрик, не помню.

RE: Удаление циклических ссылок из меню и списка рубрик

Неужели нельзя никак объединить эти две функции в одну добавив условие ИЛИ..

в 03.05.2016.

Можно, но разве это будет оптимизацией кода? По моему нет. Лучше разбивать все на функции, а не вставлять костыли  if else. Объеденив вы сделаете код хуже.

в 03.05.2016.
Добавить Комментарий

Ваш ответ

Размещая свой ответ, вы соглашаетесь с правилами сайта.