Tribe__Events__Aggregator__Records::get_status( string $status = null )
Register and return the Aggregator Record Custom Post Status.
Contents
Instead of having a method for returning and another for registering, we do it all in one single method depending on if it exists or not.
Parameters
- $status
-
(string) (Optional) Which status object you are looking for.
Default value: null
Return
(stdClass|WP_Error|array)
Source
File: src/Tribe/Aggregator/Records.php
public function get_status( $status = null ) {
$registered_by_key = (object) array();
$registered_by_name = (object) array();
foreach ( self::$status as $key => $name ) {
$object = get_post_status_object( $name );
$registered_by_key->{ $key } = $object;
$registered_by_name->{ $name } = $object;
}
// Check if we already have the Status registered
if ( isset( $registered_by_key->{ $status } ) && is_object( $registered_by_key->{ $status } ) ) {
return $registered_by_key->{ $status };
}
// Check if we already have the Status registered
if ( isset( $registered_by_name->{ $status } ) && is_object( $registered_by_name->{ $status } ) ) {
return $registered_by_name->{ $status };
}
// Register the Success post status
$args = array(
'label' => esc_html_x( 'Imported', 'event aggregator status', 'the-events-calendar' ),
'label_count' => _nx_noop( 'Imported <span class="count">(%s)</span>', 'Imported <span class="count">(%s)</span>', 'event aggregator status', 'the-events-calendar' ),
'public' => true,
'publicly_queryable' => true,
);
$object = register_post_status( self::$status->success, $args );
$registered_by_key->success = $registered_by_name->{'tribe-aggregator-success'} = $object;
// Register the Failed post status
$args = array(
'label' => esc_html_x( 'Failed', 'event aggregator status', 'the-events-calendar' ),
'label_count' => _nx_noop( 'Failed <span class="count">(%s)</span>', 'Failed <span class="count">(%s)</span>', 'event aggregator status', 'the-events-calendar' ),
'public' => true,
'publicly_queryable' => true,
);
$object = register_post_status( self::$status->failed, $args );
$registered_by_key->failed = $registered_by_name->{'tribe-aggregator-failed'} = $object;
// Register the Schedule post status
$args = array(
'label' => esc_html_x( 'Schedule', 'event aggregator status', 'the-events-calendar' ),
'label_count' => _nx_noop( 'Schedule <span class="count">(%s)</span>', 'Schedule <span class="count">(%s)</span>', 'event aggregator status', 'the-events-calendar' ),
'public' => true,
'publicly_queryable' => true,
);
$object = register_post_status( self::$status->schedule, $args );
$registered_by_key->schedule = $registered_by_name->{'tribe-aggregator-schedule'} = $object;
// Register the Pending post status
$args = array(
'label' => esc_html_x( 'Pending', 'event aggregator status', 'the-events-calendar' ),
'label_count' => _nx_noop( 'Pending <span class="count">(%s)</span>', 'Pending <span class="count">(%s)</span>', 'event aggregator status', 'the-events-calendar' ),
'public' => true,
'publicly_queryable' => true,
);
$object = register_post_status( self::$status->pending, $args );
$registered_by_key->pending = $registered_by_name->{'tribe-aggregator-pending'} = $object;
// Register the Pending post status
$args = array(
'label' => esc_html_x( 'Draft', 'event aggregator status', 'the-events-calendar' ),
'label_count' => _nx_noop( 'Draft <span class="count">(%s)</span>', 'Draft <span class="count">(%s)</span>', 'event aggregator status', 'the-events-calendar' ),
'public' => true,
'publicly_queryable' => true,
);
$object = register_post_status( self::$status->draft, $args );
$registered_by_key->draft = $registered_by_name->{'tribe-aggregator-draft'} = $object;
// Check if we already have the Status registered
if ( isset( $registered_by_key->{ $status } ) && is_object( $registered_by_key->{ $status } ) ) {
return $registered_by_key->{ $status };
}
// Check if we already have the Status registered
if ( isset( $registered_by_name->{ $status } ) && is_object( $registered_by_name->{ $status } ) ) {
return $registered_by_name->{ $status };
}
return $registered_by_key;
}
Changelog
| Version | Description |
|---|---|
| 4.3.0 | Introduced. |