2010-07-31 4 views
7

Tôi có thể hiển thị thuật ngữ phân loại trong trang phân loại, nhưng làm cách nào để nhận phân loại hoặc hiển thị phân loại trên trang. Ví dụ:Wordpress: Làm thế nào để tôi nhận được tên phân loại trong taxonomy.php?

ví dụ: khi tôi có phân loại được gọi là "trái cây" và tôi nhấp vào cụm từ trái cây có tên "chanh", Làm cách nào để hiển thị cả "trái chanh" và "trái cây" trên trang thuật ngữ phân loại?

Chỉ tìm kiếm thuật ngữ tương đương. Cám ơn!

Trả lời

5

Nếu bạn kiểm tra $wp_query->get_queried_object() trên trang phân loại, điều này sẽ chứa đối tượng cụm từ có tham chiếu đến số nhận dạng phân loại (trong ví dụ của tôi là replymc_people). Chuyển số này đến get_taxonomy và bạn nhận được đối tượng phân loại đầy đủ.

object(stdClass)[325] 
    public 'term_id' => string '113' (length=3) 
    public 'name' => string 'Jef Staes' (length=9) 
    public 'slug' => string 'jef-staes' (length=9) 
    public 'term_group' => string '0' (length=1) 
    public 'term_taxonomy_id' => string '107' (length=3) 
    public 'taxonomy' => string 'replymc_people' (length=14) 
    public 'description' => string '' (length=0) 
    public 'parent' => string '0' (length=1) 
    public 'count' => string '3' (length=1) 
4
get_query_var('taxonomy'); 

Chỉ cần này nên làm việc.

6

Đối với hương vị của tôi là quá phức tạp, nhưng ở đây nó đi:

$term = get_term_by('slug', get_query_var('term'), get_query_var('taxonomy')); 
echo $term->name; 
3

Tôi biết đây là một vấn đề được giải quyết nhưng đây là một cách khác để có được tên phân loại mà tôi nghĩ là sạch. Đối với những người tìm thấy điều này ngay bây giờ như tôi đã làm. Tôi muốn nâng cao nhận thức về các biến toàn cục trong wordpress.

$tax_term = $wp_query->query_vars['tax_name']; 
+1

Chỉ cần để giúp bất cứ ai khác tìm, vâng điều này không cho ' chanh (sử dụng ví dụ của OP), nhưng để có được 'trái cây' bạn có thể sử dụng $ wp_query-> query_vars ['taxonomy'] –

3

Tôi biết điều này được trả lời, nhưng đối với những người có thể gió lên trên trang này khi tìm kiếm ...

global $taxonomy,$term; 

$ phân loại bây giờ sẽ chứa tên phân loại của bạn ('quả' từ OP của ví dụ) và tên phân loại của bạn ('lemon' từ ví dụ của OP).

6

Một giải pháp khả thi:

$taxonomy = get_queried_object(); 
echo $taxonomy->name; 
+0

Incredible. Sau 4 giờ tìm kiếm, điều này giải quyết nó. Cảm ơn các bạn! – LT86

+1

Hữu ích, nhưng lưu ý lỗi đánh máy (taxomnomy) trước khi bạn kéo tóc ra khi $ taxonomy-> name trả về không có gì. – natebeaty

+0

Tôi đã thử một loạt các giải pháp dưới đây và đây là giải pháp duy nhất trả về ** tên ** của thuật ngữ phân loại hiện tại (viết hoa chính xác) thay vì slug của thuật ngữ hoặc slug của phân loại. – kisabelle

1

Bạn có thể lấy dữ liệu hạn/phân loại cụ thể như tên, mô tả vv trên taxonomy.php

<?php 
$termid = get_queried_object()->term_id; 
$term = get_term($termid, 'taxonomy-name'); 
echo $term->name.'<br>'; 
echo $term->description; 
?> 
+0

Vui lòng thêm một số lời giải thích cho câu trả lời của bạn. –

+0

Cảm ơn nó đã giúp. –