Ottenere la categoria genitore principale

25 apr 2015, 15:23:50
Visualizzazioni: 13.7K
Voti: 5

La mia struttura di categorie è la seguente:

- Categoria Principale
---- Sottocategoria 1
------- Sotto-sottocategoria 1.1
------- Sotto-sottocategoria 1.2
------- Sotto-sottocategoria 1.3
---- Sottocategoria 2
------- Sotto-sottocategoria 2.1
------- Sotto-sottocategoria 2.2
------- Sotto-sottocategoria 2.3

Mi trovo in un post sotto 1.2 quindi sarebbe:

Categoria Principale -> Sottocategoria 1 -> Sotto-sottocategoria 1.2 -> Post corrente

NB: Nel post SONO selezionate SOLO "Sottocategoria 1" e "Sotto-sottocategoria 1.2" come categorie ("Categoria Principale" non è selezionata).

Ora, come posso ottenere lo slug della Categoria Principale ("categoria-principale"), navigando all'indietro?

Grazie!

0
Tutte le risposte alla domanda 2
0

get_ancestors() restituisce un array contenente i genitori di un qualsiasi oggetto dato.

Questo esempio ha due categorie. Il genitore con ID 447 e il figlio con ID 448 e restituisce una gerarchia di categorie (con ID):

get_ancestors( 448, 'category' );

restituisce:

Array
(
    [0] => 447
)

Pagina Codex di get_ancestors

22 dic 2015 01:16:26
0

get_ancestors()

È il modo corretto per ottenere tutte le categorie genitore di una specifica categoria nell'ordine gerarchico, quindi per ottenere il genitore di livello più alto puoi estrarre l'ultimo elemento dell'array restituito in questo modo:

// ottenere tutti gli antenati delle categorie
$ancestor_cat_ids = get_ancestors( $queried_cat_id, 'category');

// ottenere l'ultimo elemento dell'array di ID restituito dalla funzione get_ancestors()
$highest_ancestor = $ancestor_cat_ids[count($ancestor_cat_ids) - 1];
20 set 2019 10:28:23