Get the term id belonging to custom taxonomy on a custom single-post-type.php template page
3 Antworten
- Stimmen
-
- 2011-06-14
Mit der Funktion
get_the_terms()
können Sie die Bedingungen dieses Beitragsin einerbestimmten Taxonomie abrufen:$terms = get_the_terms( $post->ID , 'speaker' ); //change speaker to whatever you call your taxonomy //then you can use just the first term $term_id = $terms[0]->term_id;
undjetzt haben Sie die Term-IDin
$term_id
.Update
Sobald Sie dieterm_id haben,können Sie sie wiefolgtin Ihrer Funktion verwenden:
$term_id = $termid->term_id; $meta = isset($meta[$term_id]) ? $meta[$term_id] : array();
you can use the
get_the_terms()
function to get the terms of that post in a specific taxonomy:$terms = get_the_terms( $post->ID , 'speaker' ); //change speaker to whatever you call your taxonomy //then you can use just the first term $term_id = $terms[0]->term_id;
and now you have the term id inside
$term_id
.update
Once you have the term_id you can use it in your function like so:
$term_id = $termid->term_id; $meta = isset($meta[$term_id]) ? $meta[$term_id] : array();
-
Ausirgendeinem Grund wird dieterm_idin derbenutzerdefinierten Post-Type-Vorlagendateinichterfasst.Wennich den Code auf die Taxonomievorlage anwende,funktioniertereinwandfrei.Vielleichtfehlenmireinige Regeln,um dieterm_id auf anderen Vorlagenseiten abzurufen?- Wiemussesin der Schleife sein oder so?For some reason the term_id is not being picked up when on the custom post-type template file. When I apply the code to the taxonomy template then it works fine. Maybe there are some rules I am missing for pulling the term_id on other template pages? --like does it have to be within the loop or something?
- 0
- 2011-06-14
- shawn
-
Der Code,denichgepostet habe,geht davon aus,dass `$post-> ID` soeingestelltist,dasser sichinnerhalb der Schleifebefinden solltethe code i posted assumes that `$post->ID` is set so yeah it should be inside the loop
- 0
- 2011-06-14
- Bainternet
-
Ich habe absolut sichergestellt,dass der Codein der Schleifeplatziert wird,aberer scheintnicht den Wert '221' zurückzugeben.Ich habe die obige Antwort von KOt ausprobiert und siegibt 221 zurück,obwohlichnicht sicherbin,wieich die Ausgabeterm_id zuweisen soll,damitich siein meiner Funktion verwenden kann.Ideen?I made absolute certain to place the code within the loop, but it does not seem to return the '221' value. I did try KOt's answer above and it does return 221, although I am not sure how to assign the output to term_id so that I can use it in my function. ideas?
- 0
- 2011-06-14
- shawn
-
@Bainternet Ich habemeine Frage obenbearbeitet,um zu zeigen,woichmichbefinde.Können Siemir zeigen,wieterm_idmit demneuen Snippetgefüllt wird?Ich habe Ihr Snippet ausprobiert,aberes hat keinen Wert zurückgegeben,selbst wennes sichin der Schleifebefindet. Vielen Dank@Bainternet I edited my question above to show where I am at. Can you help show me how to get term_id populated with the new snippet? I did try your snippet but it was not returning any value, even when in the loop. thanks
- 0
- 2011-06-14
- shawn
-
Ich habemeine Antwort aktualisierti updated my answer
- 0
- 2011-06-14
- Bainternet
-
Dankeschön!Manged,um heuteetwas Neues zu lernen,wasimmereine großartige Sacheist.Es stellte sich heraus,dassmein Problem darinbestand,dassich das ''in den Klammernentfernenmusste.Wahrscheinlich sehreinfaches PHP,aberetwas,dasich vorhernicht wusste.Dankenocheinmal!thank you! Manged to learn something new today, which is always a great thing. Turns out my problem was I had to remove the ' ' inside the brackets. Probably very basic php, but something I did not know before now. thanks again!
- 0
- 2011-06-14
- shawn
-
Ichbin froh,dassesfür dichgeklappt hat.glad it worked out for you.
- 0
- 2011-06-14
- Bainternet
-
- 2011-06-14
Sie können dies auchmit der Funktion
wp_get_post_terms()
tun:$terms = wp_get_post_terms($post->ID, "speaker"); foreach ($terms as $termid) { echo $termid->term_id; }
Es werden alle Begriffe der Taxonomiefür den aktuellen Beitrag angezeigt.
HINWEIS: muss sichinnerhalb der Schleifebefinden
You can done it with
wp_get_post_terms()
function also:$terms = wp_get_post_terms($post->ID, "speaker"); foreach ($terms as $termid) { echo $termid->term_id; }
it will display all terms of taxonomy for current post.
NOTE: it must be inside the loop
-
Diese Funktiongibt bei Verwendung auf dieser Seite denfürmich richtigen Wert von '221' zurück.Nun,da dieser Teilfunktioniert,wie kannich die Ausgabe von 221in term_ideinbinden,damitich siein meiner obigen Funktion verwenden kann?This function is returning the proper value for me of '221' when used on this page. Now that part is working, how do I 'wrap' that output of 221 into term_id so that I can use it in my function above?
- 0
- 2011-06-14
- shawn
-
- 2011-08-07
Wenn Sie sich auf der Seite archive.phpbefinden und den aktuellen Begriffbenötigen:
var_dump($wp_query->queried_object); var_dump($wp_query->queried_object->name); var_dump($wp_query->queried_object->term_id);
If you're on the archive.php page and need the current term:
var_dump($wp_query->queried_object); var_dump($wp_query->queried_object->name); var_dump($wp_query->queried_object->term_id);
Ich habeeine benutzerdefinierte Predigt vom Typ Postmit einembenutzerdefinierten Taxonomie-Sprecher. Ich wollte der Sprechertaxonomiebenutzerdefinierte Metawerte zuweisen,daher verwendeich die Taxonomie-Metaklasse von Rilwis:
http://www.deluxeblogtips.com/p/taxonomy-meta-script-for-wordpress.html
Ich habe die Klasse verwendet,umeine Metaboxmit der ID 'bio' hinzuzufügen.
Gemäß seinen Anweisungenmussich denfolgenden Code verwenden,um den Wert des 'Bio'-Metasin meine Vorlage auszugeben:
Folgendes hatbei mirfunktioniert:
Frage
Im obigen Code sehen Sie die Nummer '221'. Diesist dietatsächliche Term-ID der Taxonomie,die dembetreffenden Beitrag zugewiesenist (fest codiert,um sie zutesten). Wasichnicht verstehe,ist,wieman dieterm_id dynamisch auffüllt.
Ich kann die URLnicht abfragen,da dieseeinfach aufeinerbenutzerdefinierteneinzelnen Post-Type-Seite verwendet wird,sodass die Term-ID dortnicht verfügbarist.
Wie würdeich dieses Snippet ändern,um die richtige Term-IDfür die 'Predigt'einzugeben,dieichgeradebetrachte?
danke
Bearbeiten
Diese Funktiongibt die richtigeterm_idfürmich zurück:
Wenn Sie dieses Snippetin meiner Schleife aufmeiner Beispielseite verwenden,wird der Wert '221' zurückgegeben. Wennich 221manuell anstelle vonterm_idin die Funktioneingefügt habe,wird der Begriffmeta 'bio'einfachperfekt abgerufen.
Woichnoch stecke
Nun,daich das kleine Snippet darüber habe,dasfunktioniert,wie kannich dasin dieterm_id ausgeben,damit dieprimäre Funktionfunktioniert?
Nochmals vielen Dank