WordPress开发者和主题制作者的搜索引擎



get_the_terms ›

Since2.5.0
已弃用n/a
get_the_terms ( $post, $taxonomy )
参数: (2)
  • (int|WP_Post) $post Post ID or object.
    Required: Yes
  • (string) $taxonomy Taxonomy name.
    Required: Yes
返回:
  • (WP_Term[]|false|WP_Error) Array of WP_Term objects on success, false if there are no terms or the post does not exist, WP_Error on failure.
定义在:
文档:

Retrieve the terms of the taxonomy that are attached to the post.



源码

function get_the_terms( $post, $taxonomy ) {
	if ( ! $post = get_post( $post ) ) {
		return false;
	}

	$terms = get_object_term_cache( $post->ID, $taxonomy );
	if ( false === $terms ) {
		$terms = wp_get_object_terms( $post->ID, $taxonomy );
		if ( ! is_wp_error( $terms ) ) {
			$term_ids = wp_list_pluck( $terms, 'term_id' );
			wp_cache_add( $post->ID, $term_ids, $taxonomy . '_relationships' );
		}
	}

	/**
	 * Filters the list of terms attached to the given post.
	 *
	 * @since 3.1.0
	 *
	 * @param WP_Term[]|WP_Error $terms    Array of attached terms, or WP_Error on failure.
	 * @param int                $post_id  Post ID.
	 * @param string             $taxonomy Name of the taxonomy.
	 */
	$terms = apply_filters( 'get_the_terms', $terms, $post->ID, $taxonomy );

	if ( empty( $terms ) ) {
		return false;
	}

	return $terms;
}