Jeżeli jesteś twórcą motywów dla WordPressa, być może wiesz, że istnieje możliwość wyświetlania poszczególnych kategorii w inny, niż domyślny sposób. Można to osiągnąć za pomocą odpowiednich plików .php szablonu. Niestety, ale standardowo ta funkcja WordPressa jest bardzo niewygodna. W tym wpisie pokażemy łatwiejszy sposób na osiągnięcie tego samego efektu.
W chwili obecnej, jeżeli chcemy stworzyć osobny szablon dla kategorii, należy utworzyć plik category-#.php, gdzie # jest identyfikatorem konkretnej kategorii (np. category-5.php).
Powyższa metoda jest bardzo niewygodna. W naszym pliku jesteśmy zmuszeni umieścić odpowiedni komentarz, informujący nas o przeznaczeniu szablonu. W dodatku musimy odpowiednio zmienić nazwę pliku, aby identyfikator zgadzał się z identyfikatorem kategorii. Problemy pojawiają się również przy publikacji motywu. Nie każdy użytkownik będzie bowiem potrafił skorzystać z naszego szablonu.
Wykorzystując poniższy kod sprawimy, że zamiast identyfikatora będziemy mogli wykorzystać slug (przyjazny link) kategorii. Wprowadź poniższy kod do pliku functions.php z katalogu używanego motywu.
add_filter('category_template', 'category_slug_template');
function category_slug_template($template) {
$cat_ID = absint(get_query_var('cat'));
$category = get_category($cat_ID);
if (is_wp_error($category))
return false;
$new_template = locate_template(array("category-".$category->slug.'.php'));
if ($new_template)
return $new_template;
return $template;
}
Od tej chwili posiadając np. kategorię WPMedia, będzie możliwe zdefiniowanie osobnego szablonu za pomocą pliku category-wpmedia.php.
Powyższa modyfikacja zostanie najprawdopodobniej zawarta w WordPressie 2.9.
Źródło: scribu.net







dobra strona
Pingback: Zachowaj ruch ze stron 404 « WPMedia.pl
Pingback: Rozwuj - hipnoza online, jak śpisz.