A WordPress-centric search engine for devs and theme authors



get_object_subtype ›

Since5.0.0
Deprecatedn/a
get_object_subtype ( $object_type, $object_id )
Parameters: (2)
  • (string) $object_type Type of object to request metadata for. (e.g. comment, post, term, user)
    Required: Yes
  • (int) $object_id ID of the object to retrieve its subtype.
    Required: Yes
Returns:
  • (string) The object subtype or an empty string if unspecified subtype.
Defined at:
Codex:

Returns the object subtype for a given object ID of a specific type.



Source

function get_object_subtype( $object_type, $object_id ) {
	$object_id      = (int) $object_id;
	$object_subtype = '';

	switch ( $object_type ) {
		case 'post':
			$post_type = get_post_type( $object_id );

			if ( ! empty( $post_type ) ) {
				$object_subtype = $post_type;
			}
			break;

		case 'term':
			$term = get_term( $object_id );
			if ( ! $term instanceof WP_Term ) {
				break;
			}

			$object_subtype = $term->taxonomy;
			break;

		case 'comment':
			$comment = get_comment( $object_id );
			if ( ! $comment ) {
				break;
			}

			$object_subtype = 'comment';
			break;

		case 'user':
			$user = get_user_by( 'id', $object_id );
			if ( ! $user ) {
				break;
			}

			$object_subtype = 'user';
			break;
	}

	/**
	 * Filters the object subtype identifier for a non standard object type.
	 *
	 * The dynamic portion of the hook, `$object_type`, refers to the object
	 * type (post, comment, term, or user).
	 *
	 * @since 5.0.0
	 *
	 * @param string $object_subtype Empty string to override.
	 * @param int    $object_id      ID of the object to get the subtype for.
	 */
	return apply_filters( "get_object_subtype_{$object_type}", $object_subtype, $object_id );
}