Ottenere la tassonomia della pagina corrente
Ho alcune pagine con una tassonomia personalizzata per ciascuna pagina e sto cercando di recuperare questa tassonomia sulla pagina. Avrei fondamentalmente bisogno di qualcosa come the_current_taxonomy()
simile a the_title()
. Questo deve essere eseguito al di fuori del loop perché lo userò in una WP_Query
personalizzata subito dopo.
Modifica: Trovata una soluzione utilizzando un metodo diverso per recuperare le informazioni di cui avevo bisogno. Grazie per l'aiuto ragazzi.

Come Rarst, sono confuso su cosa vuoi visualizzare, la tassonomia o i termini di quella tassonomia.
La tassonomia può essere visualizzata ad esempio creando un file template con il nome di quella tassonomia: taxonomy-name.php
Il titolo della tassonomia diventa quindi:
<h1 class="page-title"><<?php $term = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) ); echo $term->name; ?></h1>
I termini all'interno di una tassonomia possono essere visualizzati con un tagcloud, vedi http://codex.wordpress.org/Function_Reference/wp_tag_cloud (ma questo è all'interno del loop)

L'obiettivo è mostrare il termine di una tassonomia assegnata alla pagina corrente. Quindi ho provato a visualizzare i termini all'interno della mia tassonomia con wp_tag_cloud() e ha funzionato, riesco a vedere quello che devo mostrare al centro. Poi ho provato a usare la funzione get_term_by() che mi hai dato ma senza successo.

Ho anche provato a cambiare il secondo parametro in $post->ID come mostrato nell'esempio http://codex.wordpress.org/Function_Reference/get_term_by#Examples nella pagina del codex, ma nemmeno questo ha funzionato.

Presumo che taxonomy
sia lo stesso e che ciò di cui hai bisogno siano i terms
in quella tassonomia, assegnati al post?
La funzione di basso livello per questo è wp_get_object_terms()
. Ha bisogno dell'ID dell'oggetto, quindi se stai reimpostando i dati del post dovrai memorizzarli in precedenza o recuperarli dalla query originale ($wp_query->get_queried_object_id()
per quanto ricordo).

Sì, come ho scritto in un commento sopra, ho bisogno di estrarre un termine da una tassonomia assegnata alla pagina per poi usarlo come parametro nel mio nuovo WP_Query(). Il problema di wp get object terms() è che richiede una tassonomia come parametro.

@kevin Suppongo che se è la tua tassonomia personalizzata, tu sappia quale usare come parametro? Oppure vuoi tutti i termini in tutte le tassonomie assegnati al post? Per favore chiarisci.

Sì è la mia, ma mi sono spiegato piuttosto male, volevo trovare il termine consentito a una certa tassonomia che conosco e che è anche relazionata alla pagina. Scusa se non sono stato così chiaro.

@kevin Ancora non capisco... per favore aggiorna la tua domanda con un esempio specifico di cosa hai esattamente e cosa vuoi recuperare

@kevin se non ti dispiace - potresti per favore aggiungere la soluzione a cui sei arrivato come risposta così che altri possano beneficiarne in futuro.

@kevin come risposta per favore :) Così funziona il sistema - domanda e dettagli separatamente, risposte in competizione separatamente, anche se stai rispondendo alla tua stessa domanda. In questo modo c'è meno confusione, se qualcuno propone una versione migliorata del codice e simili.

Quindi, avevo bisogno di estrarre il termine di una tassonomia nota assegnata a una pagina (come questa:
function register_prod_categoria() {
register_taxonomy(
'prod-categoria',
array( 'produtos', 'page' ),
(produtos essendo un custom post type, giusto per informazione.)).
Ho provato diverse cose, tra cui questa: get_terms('prod-categoria','')
Questo funziona, ma mi restituisce tutto sulla mia tassonomia prod-categoria, che non era ciò che mi serviva.
Poi, come spiegato nel codex, due parametri (interessanti per me) sono disponibili per get_terms()
: child_of e parent. Sembrava perfetto, quindi ho provato: get_terms('prod-categoria','child_of=marca');
e anche get_terms('prod-categoria','parent=marca')
, marca essendo un termine genitore (dalla tassonomia personalizzata prod-categoria) da cui volevo estrarre i termini figli. Entrambi non mi hanno restituito risultati. Ho provato anche con il nome Marca e lo slug marca, nulla.
La soluzione con cui sono finito è questa: $tt = the_title('','',false);
. Sto ottenendo il titolo della pagina per usarlo come parametro dopo: $posts = posts_search ('produtos',array('prod-categoria'=>$tt,'prod-cols'=>'5-C-P-F-NF-P')); if($posts) { echo "<table class=\"table-marca\">"; foreach($posts as $post) { ... }
A proposito, la funzione posts_search() (l'ho trovata su http://wordpress.stackexchange.com o http://stackoverflow.com se non sbaglio, non ricordo con certezza) permette di fare query su più tassonomie.
Concordo molto che sia lontana dall'essere perfetta, dato che il titolo della pagina deve essere uguale al nome della tassonomia, ma nel mio caso funziona. Grazie mille a Rarst e Piet per aver cercato di aiutare.
