Ottieni la tassonomia della pagina corrente
4 risposta
- voti
-
- 2011-01-07
Quindi,dovevoestrarreil termine di una tassonomia nota data a unapagina (in questomodo:
function register_prod_categoria() { register_taxonomy( 'prod-categoria', array( 'produtos', 'page' ),
(prodotti è untipo dipostpersonalizzato,soloperinformazioni.)).
Hoprovato varie cose,tra cui questa:
get_terms('prod-categoria','')
Funziona,mami dàtutto sullamiatassonomia prod-categoria ,chenon è ciò di cui avevobisogno.Quindi,come spiegatonel codex ,sono disponibili dueparametri (interessantiperme)per
get_terms()
: child_of e parent . Sembravaperfetto,quindi ho detto:get_terms('prod-categoria','child_of=marca');
e ancheget_terms('prod-categoria','parent=marca')
,marca è unterminegenitore (dallatassonomiapersonalizzata prod-categoria ) da cui volevoestrarrei termini secondari. Entrambinonmi hanno dato risultati. Hoprovato anche conilnome Marca e lo slug marca ,niente.La soluzione che hotrovato è questa:
$tt = the_title('','',false);
. Sto ottenendoiltitolo dellapaginaper utilizzarlo comeparametro 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) { ... }
Aproposito,lafunzioneposts_search () (trovata su http://wordpress.stackexchange.com o http://stackoverflow.com se ho ragione,non ricordoper certo) consente dieseguire query supiùtassonomie.
Sonomolto d'accordo sulfatto che sia lontano dall'essereperfetto,iltitolo dellapagina deveessere uguale alnome dellatassonomia,manelmio casofunziona. Graziemille a Rarste Pietper aver cercato di aiutare.
So, i needed to extract the term of a know taxonomy given to a page (like this:
function register_prod_categoria() { register_taxonomy( 'prod-categoria', array( 'produtos', 'page' ),
(produtos being a custom post type, just for info.)).
I tried various things, among them, this:
get_terms('prod-categoria','')
This, works, but gives me everything about my taxonomy prod-categoria, which isn't what i needed.Then as explained in the codex, two (interesting for me) parameters are available for
get_terms()
: child_of and parent. This sounded perfect, so i went:get_terms('prod-categoria','child_of=marca');
and alsoget_terms('prod-categoria','parent=marca')
, marca being a term parent (from the custom taxonomy prod-categoria) from which i wanted to extract the child terms. Both gave me no results. I also tried with the name Marca and the slug marca, nothing.The solution i ended up with is this:
$tt = the_title('','',false);
. I'm getting the page title to use it as a parameter after:$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) { ... }
Btw, the function posts_search() (found it on http://wordpress.stackexchange.com or http://stackoverflow.com if i'm right, don't remember for sure) allows to do queries on multiple taxonomies.
I agree very much that it's far away from being perfect, the title of the page having to be equal to the taxonomy name, but in my case it works. Thanks a lot to Rarst and Piet for trying to help.
-
- 2011-01-06
Come Rarst,sono confuso su ciò che vuoiprodurre,latassonomia oi termini ditaletassonomia.
Latassonomiapuòesseregenerata,adesempio,se crei unfilemodello conilnome di quellatassonomia:nome-tassonomia.php
iltitolo dellatassonomia diventa quindi:
<h1 class="page-title"><<?php $term = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) ); echo $term->name; ?></h1>
Itermini all'interno di unatassonomiapossonoessereemessi con untagcloud,vedere http://codex.wordpress.org/Function_Reference/wp_tag_cloud (ma questo è all'interno del ciclo)
Like Rarst, I am confused what you want to output, the taxonomy or the terms of that taxonomy.
Taxonomy can be output for example if you make a template file with the name of that taxonomy: taxonomy-name.php
the title of the taxonomy then becomes:
<h1 class="page-title"><<?php $term = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) ); echo $term->name; ?></h1>
The terms within a taxonomy can be output with a tagcloud, see http://codex.wordpress.org/Function_Reference/wp_tag_cloud (but that is within the loop)
-
L'obiettivo èprodurreiltermine da unatassonomia assegnata allapagina corrente.Quindi hoprovato a ripeterei termini all'interno dellamiatassonomia con wp_tag_cloud ()e hafunzionato,posso vedere quello di cui hobisognoper l'outputnelmezzo.Poi hoprovato a usare lafunzioneget_term_by () chemi hai datoma senza successo.The objective is to output the term from a taxonomy allocated to the current page. So i tried to echo the terms within my taxonomy with wp_tag_cloud() and it worked, i can see the one i need to output in the middle. Then i tried to use the get_term_by() function you gave me but with no success.
- 0
- 2011-01-06
- kevin
-
Ho ancheprovato a cambiareil secondoparametroin $post-> ID comemostratonell'esempio http://codex.wordpress.org/Function_Reference/get_term_by#Examplesnellapagina del codice,maneanche con successo.I also tried to change the second parameter to $post->ID as shown in the http://codex.wordpress.org/Function_Reference/get_term_by#Examples example on the codex page, but no success either.
- 0
- 2011-01-06
- kevin
-
- 2011-01-05
Presumo che la
taxonomy
sia la stessae ciò di cui haibisogno sonoiterms
in quellatassonomia,assegnati alpost?Lafunzione dibasso livelloper questo è
wp_get_object_terms()
.Habisogno dell'ID dell'oggetto,quindi se stai reimpostandoi dati delpost,dovraimemorizzarlo daprima o scavare dalla query originale ($wp_query->get_queried_object_id()
per quanto ricordo).I assume
taxonomy
is the same and what you need areterms
in that taxonomy, assigned to the post?Low level function for this is
wp_get_object_terms()
. It does need object's ID so if you are resetting post data then you will need to store that from earlier or dig out of original query ($wp_query->get_queried_object_id()
as far as I remember).-
Sì,come ho scrittoin un commento sopra,hobisogno diestrarre untermine da unatassonomia assegnata allapaginaperpoi usarlo comeparametronelmionuovo WP_Query ().Ilproblema di wpget objectterms () è che richiede unatassonomia comeparametro.Yes as i wrote in a comment above, i need to extract a term from a taxonomy assigned to the page to then use it as a parameter in my new WP_Query(). The problem of wp get object terms() is that is requires a taxonomy as a parameter.
- 0
- 2011-01-06
- kevin
-
@kevinpresumo che se è latuatassonomiapersonalizzata sai cosa devi usare comeparametro?O vuoi chetuttii terminiin tutte letassonomie siano assegnati alpost?Siprega diprecisare.@kevin I assume if it's your own custom taxonomy you know what it is to use as parameter? Or you want all terms in all taxonomies assigned to the post? Please clarify.
- 0
- 2011-01-06
- Rarst
-
Sì,èmio,mami sono spiegato abbastanzamale,volevotrovareiltermine consentito a una certatassonomia che conoscoe che è anche correlata allapagina.Scusapernonessere stato così chiaro.Yes it's my own, but i explained myself pretty bad, i wanted to find the term allowed to a certain taxonomy that i know which is also related to the page. Sorry for not being so clear.
- 0
- 2011-01-07
- kevin
-
@kevin Continuo anon capire ... aggiorna latua domanda con qualcheesempio specifico di cosa haiesattamentee cosa vuoi recuperare@kevin I still don't get it... please update your question with some specific example of what exactly you have and what you want to retrieve
- 0
- 2011-01-07
- Rarst
-
@ Rarst,problem risolto,homodificatoilmioprimopost.@Rarst, problem solved, i edited my first post.
- 0
- 2011-01-07
- kevin
-
@kevin senonti dispiace,potresti aggiungere la soluzione che haitrovato come rispostain modo che altripossanotrarne vantaggioin futuro.@kevin if you don't mind - could you please add solution you ended up with as an answer so others can benefit from it in the future.
- 0
- 2011-01-07
- Rarst
-
@ Rarst,done;Modifica 2.@Rarst, done; Edit2.
- 0
- 2011-01-07
- kevin
-
@kevin come una ** risposta **perfavore :) È così chefunzionail sistema: domandae dettagli separatamente,rispostein competizione separatamente,anche se stai rispondendo allatua domanda.In questomodo c'èmeno confusione,se qualcuno offre una versionemigliorata del codicee simili.@kevin as an **answer** please :) That is how system works - question and details separately, competing answers separately, even if you are answering your own question. That way there is less confusion, if someone offers improved version of code and such.
- 0
- 2011-01-07
- Rarst
-
Certo,mi dispiace,non lo sapevo.Modifica: devo aspettare 3minuti.Sure thing, sorry about that, didnt know. Edit: gotta wait 3 minutes.
- 0
- 2011-01-07
- kevin
-
@ Rarst,tuttofatto.@Rarst, all done.
- 0
- 2011-01-07
- kevin
-
- 2012-05-04
Se seigiànellapagina della categoria/termine,puoi chiamare
get_queried_object();
prima dieseguire la querypersonalizzataper ottenereinformazioni sulla categoria/termine,incluso lo slug.If you're already on the category/term page you can call
get_queried_object();
before running your custom query to get category/term info, including slug.
Ho alcunepagine con unatassonomiapersonalizzataper ognipaginae sto cercando di recuperare questatassonomia sullapagina.Fondamentalmente avreibisogno di qualcosa come
the_current_taxonomy()
comethe_title()
.Questo deveessereeseguitofuori dal cicloperché lo useròin unWP_Query
personalizzato subito dopo.Modifica:trovata una soluzione utilizzando unmodo diversoper recuperare leinformazioni di cui avevobisogno.Grazieperil vostro aiuto ragazzi.