pengembangan-web-mp-pd.com

Dapatkan ID kategori saat ini dari halaman aktif

Mencari untuk menarik ID kategori halaman tertentu di WordPress yang mendaftar semua posting menggunakan kategori tertentu. Mencoba di bawah ini tetapi tidak berfungsi. Saya bisa mendapatkan nama kategori menggunakan single_term_title.

$category = single_term_title("", false);
$catid = get_cat_ID( $category );

$category menampilkan "Hiburan" misalnya. Tetapi saya juga membutuhkan ID "Hiburan". Bagaimana saya melakukannya?

64
RonnieT

Anda dapat mencoba menggunakan get_the_category() :

$categories = get_the_category();
$category_id = $categories[0]->cat_ID;
52
ash108

Jika ini adalah halaman kategori, Anda bisa mendapatkan id dari kategori saat ini dengan:

$category = get_category( get_query_var( 'cat' ) );
$cat_id = $category->cat_ID;

Jika Anda ingin mendapatkan id kategori dari kategori tertentu di halaman mana pun, coba gunakan: 

$category_id = get_cat_ID('Category Name');
173
Ram Mehar Deswal

Cara tertua tetapi tercepat yang dapat Anda gunakan adalah:

$cat_id = get_query_var('cat');
28
Fred K

Saya menggunakan fungsi get_queried_object untuk mendapatkan kategori saat ini pada halaman templat category.php.

$current_category = get_queried_object();

Jordan Eldredge benar, get_the_category tidak cocok di sini. 

16
Shaffe

Saya pikir beberapa hal di atas dapat bekerja tetapi menggunakan fungsi get_the_category tampaknya rumit dan dapat memberikan hasil yang tidak terduga.

Saya pikir cara paling langsung dan sederhana untuk mengakses ID kucing di halaman kategori adalah:

$wp_query->query_vars['cat']

Tepuk tangan

2
Jorge Orpinel

Alternatif - 

 $catID = the_category_ID($echo=false);

EDIT: Fungsi di atas tidak digunakan lagi silakan gunakan get_the_category()

1
Bheru Lal Lohar

Saya menemukan pertanyaan ini sambil mencari apa yang Anda minta. Sayangnya Anda menerima jawaban yang salah. Demi orang lain yang mencoba mencapai apa yang kami coba capai, saya pikir saya akan memposting jawaban yang benar.

$cur_cat = get_cat_ID( single_cat_title("",false) );

Seperti yang Anda katakan single_term_title("", false); telah mengembalikan judul kategori dengan benar, saya tidak yakin mengapa Anda mengalami masalah dengan kode Anda; tetapi kode di atas bekerja dengan sempurna untuk saya.

0
Bill

Mencoba di atas untuk solusi menemukan ID kucing dari sebuah posting, tetapi tidak ada yang berhasil, gunakan yang berikut ini sebagai gantinya:

$obj = get_queried_object();
$c_id = wp_get_post_categories($obj->ID);
0
Robert Sinclair
$cats = wp_get_post_terms( $post->ID, 'product_cat' );
foreach($cats as $cat){
/*check for category having parent or not except category id=1 which is wordpress default category (Uncategorized)*/
  if($cat->parent != '0' && $cat->term_id != 1){
    echo '<h2 class="link"><a href="'.get_category_link($cat->term_id ).'">'.$cat->name.'</a></h2>';
    break;
  }
}
0
Abhijit Patel