Премахване на връзката на самата от WordPress менюто

Връзките са концептуална структура чрез използване на елементи: а, площ и връзка, които показват връзката между две ресурси, една от които е на ток.

Не мога да кажа дали има смисъл да се съсредоточи върху тази формулировка, но ситуацията е такава, че техническото задание редовно отговаря на изискването за изключване на връзка "в себе си" за контролите за навигация.

Как да премахнем връзка към текущата страница в менюто WordPress

стандарт WordPress поколение менюто с функциите wp_nav_menu (), посоченото по-горе изискване не е изпълнено. Виждал съм няколко решения на този проблем, но те не ми харесва, защото на факта, че те се използват доста обемиста клас Walker_Nav_Menu, регулярни изрази и опитни стойности REQUEST_URI. Резултатът не е най-елегантен и гъвкав разтвор (по принцип, а не най-надеждните).

I предложи решение под формата на функция обвивка за wp_nav_menu (), същността на който се основава на взаимодействието с менюто като документ XML. Същият подход аз използвах при изпълнението на функцията, която показва в подменюто отделно от главното меню.

Функцията извършва нормално за wp_nav_menu () масив от аргументи с две допълнителни клавиши:

  • replace_a_by - име на етикет, който ще бъде заменен с линк за маркер. По подразбиране, срок;
  • XPath - селектор на текущия избор на елемент от менюто в XPath формат. Начално // Li [съдържа (@class "текущата меню-точка") или съдържа (@class "current_page_item")].

Как да се използва?

Просто сменете wp_nav_menu на повикване () на wp_nav_menu_extended (). Например:

Тя работи правилно с всяко ниво на гнездене.

UPD (10/21/14)
Фиксирана грешка, която доведе до факта, че след премахването на връзките, меню се оказа след списъка на менюто позиции, където има второ ниво.