我刚刚发现了一个未记录的函数(在wp-includes/taxonomy.php中)。这是一个使用get\\u object\\u taxonomies():get\\u post\\u taxonomies($post\\u id)的快捷方式。它返回分类名称。
总之,我刚刚编写了另一个辛函数:
function get_taxonomies_info($id){
global $wpdb;
return $wpdb->get_results($wpdb->prepare("
select tax.taxonomy as taxonomy, group_concat(tr.name) as term_names, group_concat(tr.term_id) as term_ids
from " . $wpdb->prefix . "term_taxonomy tax
INNER JOIN " . $wpdb->prefix . "term_relationships rel ON tax.term_taxonomy_id =rel.term_taxonomy_id
INNER JOIN " . $wpdb->prefix . "terms tr ON tr.term_id = tax.term_id
WHERE rel.object_id = %d
GROUP BY taxonomy
",$id));
}
它将返回如下对象数组:
array(2) {
[0]=>
object(stdClass)#115 (3) {
["taxonomy"]=>
string(21) "taxonomy name"
["term_names"]=>
string(16) "term name"
["term_ids"]=>
string(1) "4"
}
[1]=>
object(stdClass)#114 (3) {
["taxonomy"]=>
string(17) "soluzioni_manuali"
["term_names"]=>
string(51) "term name 1,term name 2"
["term_ids"]=>
string(3) "2,3"
}
}
因此,对于每一行,您将有1个分类法,一个逗号分隔的分类法术语列表,一个逗号分隔的术语ID列表。
显然,可以很容易地更改函数,也可以添加一些其他选项(例如筛选出的分类数组)
希望有帮助