tribe_get_organizer_object( null|int|WP_Post $organizer = null, string|null $output = OBJECT, string $filter = 'raw', bool $force = false )
Fetches and returns a decorated post object representing a Organizer.
Contents
Parameters
- $organizer
-
(null|int|WP_Post) (Optional) The organizer ID or post object or
null
to use the global one.Default value: null
- $output
-
(string|null) (Optional) The required return type. One of
OBJECT
,ARRAY_A
, orARRAY_N
, which correspond to a WP_Post object, an associative array, or a numeric array, respectively. Defaults toOBJECT
.Default value: OBJECT
- $filter
-
(string) (Optional) Type of filter to apply. Accepts 'raw'.
Default value: 'raw'
- $force
-
(bool) (Optional) Whether to force a re-fetch ignoring cached results or not.
Default value: false
Return
(array|mixed|void|WP_Post|null) The Organizer post object or array, null
if not found.
- 'phone'
(string) The organizer phone number NOT filtered, apply anti-spambot filters if required. - 'website'
(string) The organizer full website URL. - 'email'
(string) The organizer email address NOT filtered, apply anti-spambot filters if required.
Source
File: src/functions/template-tags/organizer.php
function tribe_get_organizer_object( $organizer = null, $output = OBJECT, $filter = 'raw', $force = false ) { /** * Filters the organizer result before any logic applies. * * Returning a non `null` value here will short-circuit the function and return the value. * Note: this value will not be cached and the caching of this value is a duty left to the filtering function. * * @since 5.3.0 * * @param mixed $return The organizer object to return. * @param mixed $organizer The organizer object to fetch. * @param string|null $output The required return type. One of OBJECT, ARRAY_A, or ARRAY_N, which * correspond to a `WP_Post` object, an associative array, or a numeric array, * respectively. Defaults to `OBJECT`. * @param string $filter Type of filter to apply. Accepts 'raw'. */ $return = apply_filters( 'tribe_get_organizer_object_before', null, $organizer, $output, $filter ); if ( null !== $return ) { return $return; } $post = false; if ( ! $force ) { $cache_key = 'tribe_get_organizer_object_' . md5( json_encode( [ $organizer, $output, $filter ] ) ); /** @var Tribe__Cache $cache */ $cache = tribe( 'cache' ); $post = $cache->get( $cache_key, Tribe__Cache_Listener::TRIGGER_SAVE_POST ); } if ( false === $post ) { $post = Organizer::from_post( $organizer )->to_post( $output, $filter ); if ( empty( $post ) ) { return null; } /** * Filters the organizer post object before caching it and returning it. * * Note: this value will be cached; as such this filter might not run on each request. * If you need to filter the output value on each call of this function then use the `tribe_get_organizer_object_before` * filter. * * @since 5.3.0 * * @param WP_Post $post The organizer post object, decorated with a set of custom properties. * @param string $output The output format to use. * @param string $filter The filter, or context of the fetch. */ $post = apply_filters( 'tribe_get_organizer_object', $post, $output, $filter ); $cache->set( $cache_key, $post, WEEK_IN_SECONDS, Tribe__Cache_Listener::TRIGGER_SAVE_POST ); } if ( OBJECT !== $output ) { $post = ARRAY_A === $output ? (array) $post : array_values( (array) $post ); } return $post; }
Changelog
Version | Description |
---|---|
5.3.0 | Introduced. |