Holen Sie sich die Taxonomie der aktuellen Seite
4 Antworten
- Stimmen
-
- 2011-01-07
Alsomussteich den Begriff einerbekannten Taxonomie extrahieren,dieeiner Seite zugewiesen wurde (wiefolgt:
function register_prod_categoria() { register_taxonomy( 'prod-categoria', array( 'produtos', 'page' ),
(produtos istein benutzerdefinierter Beitragstyp,nur zur Information.)).
Ich habe verschiedene Dinge ausprobiert,darunter:
get_terms('prod-categoria','')
Diesfunktioniert,gibt mir aber alles übermeine Taxonomie prod-kategorie ,wasichnichtbrauchte.Wieim Codex erläutert,stehen dann zwei (fürmichinteressante) Parameter zur Verfügung
get_terms()
: child_of und parent . Das klangperfekt,alsoging ich:get_terms('prod-categoria','child_of=marca');
und auchget_terms('prod-categoria','parent=marca')
,marca istein übergeordneter Begriff (aus derbenutzerdefinierten Taxonomie prod-categoria ),aus demich die untergeordneten Begriffeextrahieren wollte. Beidegabenmir keine Ergebnisse. Ich habe auchmit dem Namen Marca und der Schnecke marca nichts versucht.Die Lösung,dieichgefunden habe,istfolgende:
$tt = the_title('','',false);
. Icherhalte den Seitentitel,umihn als Parameter zu verwenden,nachdem:$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) { ... }
Übrigens,die Funktionposts_search () (gefunden auf http://wordpress.stackexchange.com oder http://stackoverflow.com Wennich recht habe,erinneremichnicht sicher)ermöglicht das Abfragenmehrerer Taxonomien.
Ich stimme sehr zu,dasses weit davonentferntist,perfekt zu sein. Der Titel der Seitemuss dem Taxonomienamenentsprechen,aberin meinem Fallfunktioniertes. Vielen Dank an Rarst und Pietfür den Versuch zu helfen.
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
Wie Rarstbin ich verwirrt,was Sie ausgebenmöchten,die Taxonomie oder die Bedingungen dieser Taxonomie.
Taxonomie kannbeispielsweise ausgegeben werden,wenn Sieeine Vorlagendateimit dem Namen dieser Taxonomieerstellen:taxonomy-name.php
Der Titel der Taxonomie lautet dann:
<h1 class="page-title"><<?php $term = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) ); echo $term->name; ?></h1>
Die Begriffeinnerhalbeiner Taxonomie könnenmit einer Tagcloud ausgegeben werden,siehe http://codex.wordpress.org/Function_Reference/wp_tag_cloud (aber dasistinnerhalb der Schleife)
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)
-
Zielistes,den Begriff auseiner Taxonomie auszugeben,die der aktuellen Seite zugeordnetist.Also habeich versucht,die Begriffein meiner Taxonomiemit wp_tag_cloud () wiederzugeben,undes hatfunktioniert. Ich kann den Begriff sehen,denichin der Mitte ausgebenmuss.Dann habeich versucht,die Funktionget_term_by () zu verwenden,die Siemirgegeben haben,aber ohne Erfolg.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
-
Ich habe auch versucht,den zweiten Parameterin $post-> ID zu ändern,wieim Beispiel http://codex.wordpress.org/Function_Reference/get_term_by#Examples auf der Codex-Seitegezeigt,aber auch kein Erfolg.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
Ichgehe davon aus,dass die
taxonomy
dieselbeist und Sieterms
in dieser Taxonomiebenötigen,die dem Beitrag zugewiesen sind?Niedrige Funktion hierfürist
wp_get_object_terms()
.Esbenötigt die Objekt-ID. Wenn Sie also Post-Daten zurücksetzen,müssen Sie diese vonfrüher speichern oder aus der ursprünglichen Abfrage ausgraben ($wp_query->get_queried_object_id()
,soweitichmicherinnere).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).-
Ja,wieich obenin einem Kommentargeschrieben habe,mussicheinen Begriff auseiner der Seite zugewiesenen Taxonomieextrahieren,umihn dann als Parameterin meinemneuen WP_Query () zu verwenden.Das Problem von wpget object Terms ()ist,dasseine Taxonomie als Parametererforderlichist.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
-
@kevin Ichnehme an,wennes Ihreeigene benutzerdefinierte Taxonomieist,wissen Sie,wases als Parameter verwenden soll?Odermöchten Sie alle Begriffein allen Taxonomien,die der Stelle zugeordnet sind?Bitte klären Sie.@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
-
Ja,esistmein eigenes,aberich habemich ziemlich schlechterklärt. Ich wollte den Begrifffinden,derfüreine bestimmte Taxonomie zulässigist,von derich weiß,dass sie auchmit der Seite zusammenhängt.Tutmir leid,dassichnicht so klarbin.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 Ich versteheesimmernochnicht ... Bitte aktualisieren Sie Ihre Fragemit einem konkreten Beispiel dafür,wasgenau Sie haben und was Sie abrufenmöchten@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,Problemgelöst,ich habemeinen ersten Beitragbearbeitet.@Rarst, problem solved, i edited my first post.
- 0
- 2011-01-07
- kevin
-
@kevin,wennes Ihnennichts ausmacht - könnten Siebitte eine Lösung hinzufügen,die Sie als Antworterhalten haben,damit anderein Zukunft davonprofitieren können.@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,fertig;Edit2.@Rarst, done; Edit2.
- 0
- 2011-01-07
- kevin
-
@kevin als ** Antwort **bitte :) Sofunktioniert das System - Frage und Detailsgetrennt,konkurrierende Antwortengetrennt,auch wenn Sie Ihreeigene Fragebeantworten.Auf diese Weisegibt es weniger Verwirrung,wennjemandeine verbesserte Version von Code und dergleichen anbietet.@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
-
Sicher,tutmir leid,wussteesnicht.Edit:muss 3 Minuten warten.Sure thing, sorry about that, didnt know. Edit: gotta wait 3 minutes.
- 0
- 2011-01-07
- kevin
-
@Rarst,alleserledigt.@Rarst, all done.
- 0
- 2011-01-07
- kevin
-
- 2012-05-04
Wenn Sie sichbereits auf der Kategorie-/Begriffsseitebefinden,können Sie
get_queried_object();
aufrufen,bevor Sie Ihrebenutzerdefinierte Abfrage ausführen,um Kategorie-/Begriffsinformationeneinschließlich Slug abzurufen.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.
Ich habeeinige Seitenmit einerbenutzerdefinierten Taxonomiefürjede Seite undich versuche,diese Taxonomie auf der Seite abzurufen.Ich würdeim Grunde soetwas wie
the_current_taxonomy()
wiethe_title()
brauchen.Diesmuss außerhalb der Schleife ausgeführt werden,daiches direkt danachin einerbenutzerdefiniertenWP_Query
verwenden werde.Bearbeiten: Es wurdeeine Lösunggefunden,mit der diebenötigten Informationen auf andere Weise abgerufen werden können.Vielen Dankfür Ihre Hilfe.