Zvýraznění odkazu v menu pro vlastní typy obsahu

Návrat na přehled →

Vlastní typy obsahu (custom post types, CPT) jsou skvělá věc, ale mají jeden drobný nešvar -> vložím-li do navigace odkaz na stránku s jejich výpisem, tak jej WordPress neoznačí jako aktivní, když na tento výpis přejdu. WordPressu je třeba v tuto chvíli trochu pomoci.

Nejdříve odkazu v menu přidám vlastní CSS třídu, například „vypis-cpt“. Pokud v editaci odkazu pole CSS třídy nevidíte (což je pravděpodobné), tak si jej odkryjte v sekci Nastavení zobrazených informací. Tuto třídu v CSS nijak nevyužíváme, hodí se nám totiž jiným způsobem.

Do functions.php vložíme následující kód:

Filtr nav_menu_css_class postupně prochází všechny odkazy v navigaci. Funkce jednoduše zjistí, jestli je zobrazován archiv/výpis vlastního typu obsahu (v tomto případě to platí i pro „single“ stránku, pro kterou chceme nadřazený odkaz zvýraznit také), a podívá se, jestli odkaz neobsahuje CSS třídu „vypis-cpt“. Pokud ano, tak ví, že je to odkaz, který má zvýraznit. A toho docílí tím, že do pole předaných CSS tříd doplní tradiční „aktivní“ třídu, a pole tříd zase vrátí zpět.

A problém je vyřešen.

 

Zapnutí podpory náhledových obrázků a nastavení rozměrů Stránkování archivů Všechny WordPress kódy

Napsal Marek Klusák, programátor a webdesigner. Kontakt