Planowałem kilka wpisów z tego cyklu. Dobrą praktyką jest używanie funkcji, które zostały napisane przez autorów WordPressa, a nie tworzenie własnych, które dublują już istniejące. Niestety, z różnych względów cykl nadal oczekuje.
Tymczasem złośliwy los sobie ze mnie zadrwił, bo oto we własnym kodzie...
... robiłem na szybko poprawkę w szablonie na własnym blogu. Poprawka szybko sprawdzała, czy post należy do danej kategorii (nazwijmy ją, dla niepoznaki, FAQ ), jeżeli tak, zmieniała sposób wyświetlania wpisu na stronie głównej. Warunek sprawdzający był prosty:
if( $cat[0]->slug == 'faq' )
Kod powyżej działał, choć założyłem sobie ograniczenie - post nie może należeć do więcej niż jednej kategorii. Jak to bywa z założeniami
When you assume, you make an ASS out of U and ME
Thomas Harris - The Silence of the Lambs
Zemściło się to srodze. Wprawny PHP-owiec sobie poradzi.
Na szczęście patrząc na mój kod, nie pomyślałem o tworzeniu własnej funkcji jak ta powyżej, tylko zajrzałem do Codexu. Stamtąd wziąłem funkcję in_category( );
, która jest trochę bardziej elastyczna niż powyższa i wbudowana w WordPressa. Użycie:
<?php in_category( $category, $_post ) ?>
Jakbyście szukali, podobną funkcją WordPressa, tylko że dla tagów jest has_tag( );