A WordPress-centric search engine for devs and theme authors



get_terms_to_edit ›

Since2.8.0
Deprecatedn/a
get_terms_to_edit ( $post_id, $taxonomy = 'post_tag' )
Parameters: (2)
  • (int) $post_id
    Required: Yes
  • (string) $taxonomy Optional. The taxonomy for which to retrieve terms. Default 'post_tag'.
    Required: No
    Default: 'post_tag'
Returns:
  • (string|bool|WP_Error)
Defined at:
Codex:

Get comma-separated list of terms available to edit for the given post ID.



Source

function get_terms_to_edit( $post_id, $taxonomy = 'post_tag' ) {
	$post_id = (int) $post_id;
	if ( !$post_id )
		return false;

	$terms = get_object_term_cache( $post_id, $taxonomy );
	if ( false === $terms ) {
		$terms = wp_get_object_terms( $post_id, $taxonomy );
		wp_cache_add( $post_id, wp_list_pluck( $terms, 'term_id' ), $taxonomy . '_relationships' );
	}

	if ( ! $terms ) {
		return false;
	}
	if ( is_wp_error( $terms ) ) {
		return $terms;
	}
	$term_names = array();
	foreach ( $terms as $term ) {
		$term_names[] = $term->name;
	}

	$terms_to_edit = esc_attr( join( ',', $term_names ) );

	/**
	 * Filters the comma-separated list of terms available to edit.
	 *
	 * @since 2.8.0
	 *
	 * @see get_terms_to_edit()
	 *
	 * @param array  $terms_to_edit An array of terms.
	 * @param string $taxonomy     The taxonomy for which to retrieve terms. Default 'post_tag'.
	 */
	$terms_to_edit = apply_filters( 'terms_to_edit', $terms_to_edit, $taxonomy );

	return $terms_to_edit;
}