Bagaimana cara mendapatkan nama taksonomi dengan siput?

22

Jika saya tahu istilah siput taksonomi, bagaimana saya bisa mendapatkan nama term itu?

Carson
sumber
apakah Anda ingin membuat tautan, judul, ???
xLRDxREVENGEx

Jawaban:

38

Fungsi yang Anda cari adalah get_term_by. Anda akan menggunakannya seperti itu:

<?php $term = get_term_by('slug', 'my-term-slug', 'category'); $name = $term->name; ?>

Ini menghasilkan $termobjek yang berisi berikut ini:

term_id
name
slug
term_group
term_taxonomy_id
taxonomy
description
parent
count

Codex bekerja dengan sangat baik untuk menjelaskan fungsi ini: http://codex.wordpress.org/Function_Reference/get_term_by

tollmanz
sumber
Anda mengalahkan saya untuk itu. Inilah yang akan saya lakukan.
xLRDxREVENGEx
1
Bagaimana jika Anda tidak memiliki siput taksonomi?
EkoJR
2

Ini memberikan jawaban ketika taksonomi tidak tersedia / tidak diketahui .

Dalam kasus saya, ketika menggunakan get_term_by , ada beberapa contoh di mana hanya ada Term Slug (No Term ID atau Taxonomy). Yang membawaku ke sini. Namun, jawaban yang diberikan tidak cukup menyelesaikan masalah saya.

Solusi untuk kosong $taxonomy

// We want to find the ID to this slug.
$term_slug = 'foo-bar';
$taxonomies = get_taxonomies();
foreach ( $taxonomies as $tax_type_key => $taxonomy ) {
    // If term object is returned, break out of loop. (Returns false if there's no object)
    if ( $term_object = get_term_by( 'slug', $term_slug , $taxonomy ) ) {
        break;
    }
}
$term_id = $term_object->name;

echo 'The Term ID is: ' . $term_id . '<br>';
var_dump( $term_object );

Hasil

The Term ID is: 32
object(WP_Term)
  public 'term_id' => int 32
  public 'name' => string 'Example Term'
  public 'slug' => string 'example-term'
  public 'term_group' => int 0
  public 'term_taxonomy_id' => int 123
  public 'taxonomy' => string 'category'
  public 'description' => string ''
  public 'parent' => int 0
  public 'count' => int 23
  public 'filter' => string 'raw'

Sebagai berikut, konsep mendapat array $taxonomies, loop melalui array, dan IF get_term_by()mengembalikan kecocokan, kemudian langsung keluar dari loop foreach.

Catatan: Saya mencoba mencari metode untuk mendapatkan taksonomi terkait (ID atau Slug) dari Term Slug, tetapi sayangnya saya tidak dapat menemukan apa pun yang tersedia di WordPress.

EkoJR
sumber
0

terima kasih, ini berhasil untuk saya.

Saya membuat fungsi dan menggunakannya lagi dan lagi sesuai kebutuhan.

function helper_get_taxonomy__by_slug($term_slug){
    $term_object = "";
    $taxonomies = get_taxonomies();
    foreach ($taxonomies as $tax_type_key => $taxonomy) {
        // If term object is returned, break out of loop. (Returns false if there's no object);
        if ($term_object = get_term_by('slug', $term_slug, $taxonomy)) {
            break;
        }else{
            $term_object = "Warn! Helper taxonomy not found.";
        }
    }
    return $term_object;
}
mahesh chhetri
sumber