get_object_taxonomies()
最后更新于:2021-11-26 10:24:25
get_object_taxonomies( string|string[]|GC_Post$object, string$output=’names’)响应 the names or objects of the taxonomies which are registered for the requested object or object type, such as a post object or post type name.
参数
- $object
-
(string|string[]|GC_Post) (Required) Name of the type of taxonomy object, or an object (row from posts)
- $output
-
(string) (Optional) The type of output to return in the array. Accepts either ‘names’ or ‘objects’.
Default value: ‘names’
响应
(string[]|GC_Taxonomy[]) The names or objects of all taxonomies of $object_type
.
源文件
文件: gc-includes/taxonomy.php
function get_object_taxonomies( $object, $output = 'names' ) {
global $gc_taxonomies;
if ( is_object( $object ) ) {
if ( 'attachment' === $object->post_type ) {
return get_attachment_taxonomies( $object, $output );
}
$object = $object->post_type;
}
$object = (array) $object;
$taxonomies = array();
foreach ( (array) $gc_taxonomies as $tax_name => $tax_obj ) {
if ( array_intersect( $object, (array) $tax_obj->object_type ) ) {
if ( 'names' === $output ) {
$taxonomies[] = $tax_name;
} else {
$taxonomies[ $tax_name ] = $tax_obj;
}
}
}
return $taxonomies;
}
Array ( [category] => stdClass Object ( [hierarchical] => 1 [update_count_callback] => [rewrite] => [query_var] => category_name [public] => 1 [show_ui] => 1 [show_tagcloud] => 1 [_builtin] => 1 [labels] => stdClass Object ( ... ) ... [name] => category [label] => Categories ) [post_tag] => stdClass Object ( ... ) [post_format] => stdClass Object ( .... ) )
<?php add_action('gc_head','gcdocs_output_current_post_taxonomies'); /** * Output taxonomies for the current post */ function gcdocs_output_current_post_taxonomies(){ global $post; $taxonomy_names = get_object_taxonomies( $post ); print_r( $taxonomy_names ); } ?>