Cách lấy thuật ngữ phân loại của trang hiện tại và điền các truy vấn trong mẫu


16

Tôi đã loay hoay tìm cách làm thế nào để có được một thuật ngữ phân loại cụ thể của trang hiện tại để sau đó tôi có thể đưa ra các truy vấn trên trang cho các loại bài đăng khác có cùng thuật ngữ.

Về cơ bản:

  • Trang 1 có thuật ngữ phân loại - chính sách giáo dục
  • page.php có bốn phần:
    1. vòng lặp tiêu chuẩn xuất ra trang, nhưng sau đó có ba truy vấn tiếp theo
    2. vòng lặp cho các sự kiện có thuật ngữ phân loại - chính sách giáo dục
    3. vòng lặp cho các báo cáo có thuật ngữ phân loại - chính sách giáo dục
    4. vòng lặp cho những người có thuật ngữ phân loại - chính sách giáo dục

Tôi đã thực hiện các mẫu cụ thể của trang trong đó tôi chỉ có thể mã hóa thuật ngữ thành các vòng lặp bổ sung, nhưng tôi cần tìm ra cách thực hiện một cách linh hoạt (ban đầu được cho là bốn hoặc năm trang bây giờ là bốn mươi hoặc năm mươi).

Tôi đã tìm thấy một vài câu hỏi tương tự, nhưng không có câu hỏi nào tôi thực sự có thể tìm được cách thực hiện.

Nhận phân loại trang hiện tại có một chút khó hiểu để làm theo những gì thực sự được yêu cầu.

Lấy id thuật ngữ thuộc phân loại tùy chỉnh trên trang mẫu đơn post-type.php

Tôi hy vọng điều này có ý nghĩa và cảm ơn nhiều.

Câu trả lời:


25

Hừm, nếu bạn đã đăng ký phân loại cho loại đối tượng "trang" một cách chính xác và sau đó gán một thuật ngữ phân loại đó cho một trang ... Tôi tin rằng bạn có thể truy cập vào phân loại và thuật ngữ sên theo cách sau:

get_query_var( 'taxonomy' )
get_query_var( 'term' )

Nếu bạn print_r($wp_query)sẽ thấy tất cả các tham số có ở đó khi tạo một trang hiện tại được hiển thị. Với mã ở trên bạn đang truy cập các tham số đó từ $wp_query.

Sau đó, để có được đối tượng hạn với thông tin đầy đủ, bạn có thể sử dụng hàm get_term_by , như vậy

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

Điều này sẽ in tên "tốt đẹp" của thuật ngữ.

Tôi tin rằng nếu bạn sử dụng get_query_var('term')hoặc $term->slug(sau khi nhận được đối tượng hạn), bạn có thể sử dụng sên đó trong tất cả các truy vấn khác.

Mong rằng sẽ giúp. Tôi không bao giờ sử dụng phân loại cho các trang. Hãy cho tôi biết làm thế nào bạn nhận được trên.


2

Chỉ cần sao chép dán bên dưới mã

Điều này sẽ in tên và mô tả phân loại trang hiện tại của bạn (tùy chọn)

<?php 
   $tax = $wp_query->get_queried_object();
   echo ''. $tax->name . '';
   echo "<br>";
   echo ''. $tax->description .''; 
?>

-2

Có thể bạn cần kích hoạt tìm kiếm để kích hoạt phân trang

Trong khi khai báo phân loại tùy chỉnh, bạn nên vô hiệu hóa tìm kiếm loại trừ.

loại trừ_from_search => sai

Điều này đã khắc phục vấn đề của tôi.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.