Vytvořil jsem nový web pro mého grafika!

Oxygen: Jak vygenerovat taxonomii u CPT a jak je custom seřadit

0 komentářů

Zrovna při tvorbě webu pro jednu větší advokátní kancelář jsem řešil reference, které se dávají na web. Pro tyto účely jsem v ACF založil vlastní CPT, který má vlastní taxonomii – různé kategorie referencí. Jak tyto kategorie vypsat do frontendu a jak je seřadit?

Kategorie referencí by hádám mělo jít vypsat pomocí přímo Oxygenu, ale osobně se mi to nepodařilo zprovoznit, tak jsem si vytvořil vlastní kód – bylo to pro mě rychlejší. Pro custom seřazení pak už jen stačí vytvořit vlastní pole (textové) – já vytvořil „poradi-v-referencich“ a navázat ho na taxonomie, kde se vybere právě ta daná taxonomie, kterou jsme vytvářeli v návaznosti na CPT.

Na web pak stačí přidat tento php kód a jen pomocí CSS si upravit design, class jsou v HTML na to již vytvořené. Na úplný závěr v každé kategorii pak stačí vyplnit číslo a už se to bude řadit. Já to řadím dle nejvyšší hodnoty, pokud to chcete opačně, tak stačí v kodu přepsat u order „DESC“ na „ASC“.

<?php
global $wp_query;

// Získání aktuální kategorie
$current_term = $wp_query->get_queried_object();

// Získání hlavních kategorií (termínů bez nadřazené kategorie)
$args = array(
    'taxonomy'     => 'kategorie-reference',
    'meta_key'     => 'poradi-v-referencich', // Vlastní pole pro řazení
    'orderby'      => 'meta_value_num', // Řazení podle číselné hodnoty
    'order'        => 'DESC',
    'parent'       => 0, // Získání pouze hlavních kategorií
    'hide_empty'   => false // Zobrazit i prázdné kategorie
);

$categories = get_terms( $args ); // Použijte get_terms místo get_categories

if ( ! empty( $categories ) && ! is_wp_error( $categories ) ) {
    echo '<div class="ap-podkategorie">';
    foreach ( $categories as $category ) {
        // Kontrola, jestli kategorie není "nezařazené"
        if ( strtolower($category->name) != 'nezařazené' ) {
            echo '<a class="ap-jedna-podkategorie" href="' . get_term_link( $category ) . '">'; // Začátek odkazu na kategorii
            echo '<span>' . $category->name . '</span>'; // Název kategorie v span elementu
            echo '</a>'; // Konec odkazu na kategorii
        }
    }
    echo '</div>'; // Konec divu všech kategorií
} else {
    echo 'Žádné kategorie nebyly nalezeny.';
}
?>
Máte dotazy či potřebujete pomoc?
V případě dotazů mi napište níže komentář, rád vám odpovím a navedu vás. Komentář mi můžete napsat i v případě, že vám článek pomohl nebo se vám líbil, určitě to potěší. 🙂

Podobné články

Zanechte mi komentář