ฉันจะได้รับ taxonomies ประเภทโพสต์ได้อย่างไร
หากฉันมีประเภทโพสต์event
และฉันจำเป็นต้องค้นหารายการ taxonomies ที่แนบกับประเภทโพสต์นั้น ฉันจะหาพวกเขาได้อย่างไร
ฉันจะได้รับ taxonomies ประเภทโพสต์ได้อย่างไร
หากฉันมีประเภทโพสต์event
และฉันจำเป็นต้องค้นหารายการ taxonomies ที่แนบกับประเภทโพสต์นั้น ฉันจะหาพวกเขาได้อย่างไร
คำตอบ:
เฮ้พวกฉันคิดว่าฉันเข้าใจแล้ว! หลังจากดูฟังก์ชั่นสองอย่างในไฟล์ taxonomy.php ใน WordPress ฉันได้พบฟังก์ชั่นนี้get_object_taxonomies();
ซึ่งใช้เคล็ดลับ :)
นี่คือฟังก์ชั่น
function get_post_taxonomies($post) {
// Passing an object
// Why another var?? $output = 'objects'; // name / objects
$taxonomies = get_object_taxonomies($post, 'objects');
/*// Passing a string using get_post_type: return (string) post, page, custom...
$post_type = get_post_type($post);
$taxonomies = get_object_taxonomies($post_type, 'objects');*/
/*// In the loop with the ID
$theID = get_the_ID();
$post_type = get_post_type($theID);
$taxonomies = get_object_taxonomies($post_type, 'objects');*/
// You can also use the global $post
// edited to fix previous error $taxonomies
// edited to force type hinting array
return (array) $taxonomies; // returning array of taxonomies
}
for
หรือforeach
loop
$taxonomies = get_object_taxonomies( array( 'post_type' => $post_type ) ); foreach( $taxonomies as $taxonomy ) : // Gets every "category" (term) in this taxonomy to get the respective posts $terms = get_terms( $taxonomy ); ?> <ul class="specials"><?php foreach( $terms as $term ) : ?> <li><h2 ><?php echo $term->name; ?></h2>
get_categoriesจะทำงาน
get_categories('taxonomy=taxonomy_name&type=custom_post_type');
คุณเคยลองอะไรบ้างไหม? อะไรแบบนี้?
<?php
$args=array(
'object_type' => array('event')
);
$output = 'names'; // or objects
$operator = 'and'; // 'and' or 'or'
$taxonomies=get_taxonomies($args,$output,$operator);
if ($taxonomies) {
foreach ($taxonomies as $taxonomy ) {
echo '<p>'. $taxonomy. '</p>';
}
}
?>
get_taxonomies();
ฟังก์ชันบน codex แต่มีเอกสารที่แย่มากและไม่รู้ว่าฉันจะผ่านประเภทโพสต์ได้อย่างไร