p!vA?y9]t0@A*vAY@Ah?A0*vA@3vAH*vAX*vA@`3vAA*vAB*vA*vAX*vA *vA@p5vA0*vA@*vA@A5vA@AF:vA(uF)vA*vA*vA*vA p*vA*vAU*vA8*vA*vA@87A /** * Build the complete choices argument for rendering the select2 field for bidirectional target based on the currently selected choices * * @since 6.2 * * @param array $choices The currently selected choices (as an array of field keys). * * @return array */ (*vAX*vA/** * Build valid fields for a bidirectional relationship for select2 display * * @since 6.2 * * @param array $results The original results array. * @param array $options The options provided to the select2 AJAX search. * * @return array */L:vA*vA*vAvA ou may select this field. Target fields must be compatible with where this field is being displayed. For example, if this field is displayed on a Taxonomy, your target field should be of type Taxonomyh*vAx*vA8@AK8$ RAj^Rɍ "Acted for this field, adding or removing the Post ID, Taxonomy ID or User ID of the item being updated. For more information, please read the documentation.PvAܺ[l`8@A=̯w=7vA 1(" PzuA[$auAܺ[l`puAyܕdS@&vAޮ6fuAy޾U(*vAwɀ5@A*vAD*vA*vA*vA *vA*vAAh*vA8*@U *vA8*vADx*vAx*vA*vA@=h|@(3vA@.| (3vAka|`2vA(*vA@Ax(Ah*vA@AA9vA*vA*vA@U0vA*vA*vA*vA3vAA*vA*vA@<)vA@Dx(AH*vA@00vA`*vAp*vA*vA*vAA*vAb*vADD*vA*vAA*vA*vA*vA%3vAH*vA@A5vA  `*vAp*vA *vA *vA A*vA@)vAD  *vA*vA A*vA@pWAD@D87AH*vA@D5vA3vAAH3vAA *vA*vA*vA*vAD*vA@x(A*vA@@9vA(*vA8*vA@A0vAh*vAP*vA*vAP3vA3vAAw2vAA3vAAD@Dx(AP*vA@hA9vAh*vAx*vA*vA*vAD*vA*vA@)vAtcher->is_tracked( $post_id ); /** * Filters whether custom tables should be updated or not after the default logic * has run. * * @since 6.0.0 * * @param bool $update Whether the custom tables should be updated or not, by * default, the initial value will be based on whether a * post relevant and watched meta was updated or not. * @param int $post_id The ID of the post that is currently being updated. * @param WP_REST_Request $request A reference to the object modeling the current request. */ return apply_filters( 'tec_events_custom_tables_v1_should_update_custom_tables', $update, $post_id, $request ); } /** * Will trigger a contextual event inserted action hook. * * @since 6.0.0 * * @param $post_id */ public function event_was_inserted_by_request( $post_id ) { /** * When we have created a new event, fire this action with the post ID. Triggered only during an HTTP request. * * @since 6.0.0 * * @param numeric $post_id The event post ID. */ do_action( 'tec_events_custom_tables_v1_request_after_insert_event', $post_id ); } /** * Will trigger a contextual event updated action hook. * * @since 6.0.0 * * @param $post_id */ public function event_was_updated_by_request( $post_id ) { /** * When we have updated an existing event, fire this action with the post ID. Triggered only during an HTTP request. * * @since 6.0.0 * * @param numeric $post_id The event post ID. */ do_action( 'tec_events_custom_tables_v1_request_after_update_event', $post_id ); } /** * Updates the custom tables with the data for an Event post. * * @since 6.0.0 * * @param int $post_id The Even post ID. * @param WP_REST_Request $request A reference to the request object triggering the update. * * @return bool Whether the update was successful or not. */ private function update_custom_tables( $post_id, WP_REST_Request $request ) { /** * Fires before an Event custom tables data is updated. * * @since 6.0.0 * * @param int $post_id The post ID of the Event being updated. * @param WP_REST_Request $request A reference to the request object triggering the update. */ do_action( 'tec_events_custom_tables_v1_update_post_before', $post_id, $request ); /** * Fires before the default The Events Calendar logic to update an Event custom tables * information is applied. * Returning a non `null` value from this filter will prevent the default logic from running. * * @since 6.0.0 * * @param mixed|null $updated Whether the post custom tables information was updated by any * filtering function or not. If a non `null` value is returned * from this filter, then the default logic will not be applied. * @param int $post_id The post ID of the Event whose custom tables information should be * updated. * @param WP_REST_Request $request A reference to the object modeling the current request, * if any. Mind the WP_REST_Request class can be used to * model a non-REST API request too! * * @return bool|null Whether the custom tables' updates were correctly applied or not. */ $updated = apply_filters( 'tec_events_custom_tables_v1_commit_post_updates', null, $post_id, $request ); /** * These hooks are a way to further add context to the type of event occurring. In the case of an HTTP request, versus some other update operation. */ add_action( 'tec_events_custom_tables_v1_after_insert_event', [ $this, 'event_was_inserted_by_request' ] ); add_action( 'tec_events_custom_tables_v1_after_update_event', [ $this, 'event_was_updated_by_request' ] ); if ( null === $updated ) { // Apply the default logic. $updated = $this->events->update( $post_id ); } /** * Clean up context specific hooks. */ remove_action( 'tec_events_custom_tables_v1_after_insert_event', [ $this, 'event_was_inserted_by_request' ] ); remove_action( 'tec_events_custom_tables_v1_after_update_event', [ $this, 'event_was_updated_by_request' ] ); /** * Filters whether an Event custom tables data has been correctly updated or not. * * @since 6.0.0 * * @param bool $updated Whether the previous update operation was correctly performed or not. * @param int $post_id The post ID of the Event being updated. * @param WP_REST_Request $request A reference to the request object triggering the update. */ $updated = apply_filters( 'tec_events_custom_tables_v1_updated_post', $updated, $post_id, $request ); /** * Fires after an Event custom tables data is updated. * * @since 6.0.0 * * @param int $post_id The post ID of the Event being updated. * @param WP_REST_Request $request A reference to the request object triggering the update. */ do_action( 'tec_events_custom_tables_v1_update_post_after', $post_id, $request ); return $updated; } /** * Updates the custom tables' information for an Event post whose important meta * was updated in the context of a REST request. * * After a first update, the post ID is removed from the marked-for-update stack * and will not be automatically updated again during the request. * * @since 6.0.0 * * @param WP_Post $post A reference to the post object representing the Event * post. * @param WP_REST_Request $request A reference to the REST API request object that is, * currently, being processed. * * @return bool Whether the custom tables' updates were correctly applied or not. */ public function commit_post_rest_update( WP_Post $post, WP_REST_Request $request ) { if ( ! $this->meta_watcher->is_tracked( $post->ID ) ) { return false; } return $this->commit_post_updates( $post->ID, $request ); } /** * Deletes an Event custom tables information. * * @since 6.0.0 * @since 6.11.1 - Ensures this is only called for Events. * @since 6.17.0 Made $request explicitly nullable. * * @param int $post_id The deleted Event post ID. * @param WP_REST_Request|null $request A reference to the request object triggering the deletion, if any. * * @return int|false Either the number of affected rows, or `false` on failure. */ public function delete_custom_tables_data( int $post_id, ?WP_REST_Request $request = null ) { if ( ! tribe_is_event( $post_id ) ) { return false; } if ( null === $request ) { $request = $this->requests->from_http_request(); } /** * Fires before an Event custom tables data is removed. * * By the time this action fires, the Event post has not yet been removed from * the WordPress posts tables. * * @since 6.0.0 * * @param int $post_id The Event post ID. * @param WP_REST_Request $request A reference to the request object triggering the update. */ do_action( 'tec_events_custom_tables_v1_delete_post', $post_id, $request ); $affected = $this->events->delete( $post_id ); /** * Fires after the Event custom tables data has been removed from the database. * * By the time this action fires, the Event post has not yet been removed from * the WordPress posts tables. * * @since 6.0.0 * * @param int $affected The number of affected rows, across all custom tables. * Keep in mind db-level deletions will not be counted in * this value! * @param int $post_id The Event post ID. * @param WP_REST_Request $request A reference to the request object triggering the update. */ return apply_filters( 'tec_events_custom_tables_v1_deleted_post', $affected, $post_id, $request ); } /** * Filters the location a post should be redirected to. * * @since 6.0.0 * * @param string $location The post redirection location, as worked out * by WordPress and previous filtering methods. * @param int $post_id The * * @return mixed|void */ public function redirect_post_location( $location, $post_id ){ if ( TEC::POSTTYPE !== get_post_type( $post_id ) ) { return $location; } /** * Filters the location the Event post should be redirected to in the context of a Classic Editor * Request. * * The Events Calendar plugin will not redirect the post location, by default. * * @since 6.0.0 * * @param string $location The original location to redirect the post provided by WordPress * and filtered by other intervening methods. * @param int $post_id The post ID to redirect the location for. */ return apply_filters( 'tec_events_custom_tables_v1_redirect_post_location', $location, $post_id ); } } {"id":4623,"date":"2025-07-24T20:23:34","date_gmt":"2025-07-24T18:23:34","guid":{"rendered":"https:\/\/www.tierhilfeweidenberg.de\/wp-content\/uploads\/2025\/07\/IMG-20250724-WA0015.jpg"},"modified":"2025-07-24T20:23:34","modified_gmt":"2025-07-24T18:23:34","slug":"img-20250724-wa0015","status":"inherit","type":"attachment","link":"https:\/\/www.tierhilfeweidenberg.de\/en\/img-20250724-wa0015\/","title":{"rendered":"IMG-20250724-WA0015"},"author":2,"featured_media":0,"comment_status":"","ping_status":"closed","template":"","meta":{"_EventAllDay":false,"_EventTimezone":"","_EventStartDate":"","_EventEndDate":"","_EventStartDateUTC":"","_EventEndDateUTC":"","_EventShowMap":false,"_EventShowMapLink":false,"_EventURL":"","_EventCost":"","_EventCostDescription":"","_EventCurrencySymbol":"","_EventCurrencyCode":"","_EventCurrencyPosition":"","_EventDateTimeSeparator":"","_EventTimeRangeSeparator":"","_EventOrganizerID":[],"_EventVenueID":[],"_OrganizerEmail":"","_OrganizerPhone":"","_OrganizerWebsite":"","_VenueAddress":"","_VenueCity":"","_VenueCountry":"","_VenueProvince":"","_VenueState":"","_VenueZip":"","_VenuePhone":"","_VenueURL":"","_VenueStateProvince":"","_VenueLat":"","_VenueLng":"","_VenueShowMap":false,"_VenueShowMapLink":false},"class_list":["post-4623","attachment","type-attachment","status-inherit","hentry"],"translation":{"provider":"WPGlobus","version":"3.0.3","language":"en","enabled_languages":["de","en"],"languages":{"de":{"title":true},"en":{"title":false}}},"description":{"rendered":"

\"\"<\/a><\/p>\n"},"caption":{"rendered":""},"alt_text":"","media_type":"image","mime_type":"image\/jpeg","media_details":{"width":1500,"height":2000,"file":"2025\/07\/IMG-20250724-WA0015.jpg","filesize":448413,"sizes":{"medium":{"file":"IMG-20250724-WA0015-225x300.jpg","width":225,"height":300,"filesize":16492,"mime_type":"image\/jpeg","source_url":"https:\/\/www.tierhilfeweidenberg.de\/wp-content\/uploads\/2025\/07\/IMG-20250724-WA0015-225x300.jpg"},"large":{"file":"IMG-20250724-WA0015-768x1024.jpg","width":768,"height":1024,"filesize":157595,"mime_type":"image\/jpeg","source_url":"https:\/\/www.tierhilfeweidenberg.de\/wp-content\/uploads\/2025\/07\/IMG-20250724-WA0015-768x1024.jpg"},"thumbnail":{"file":"IMG-20250724-WA0015-150x150.jpg","width":150,"height":150,"filesize":6053,"mime_type":"image\/jpeg","source_url":"https:\/\/www.tierhilfeweidenberg.de\/wp-content\/uploads\/2025\/07\/IMG-20250724-WA0015-150x150.jpg"},"medium_large":{"file":"IMG-20250724-WA0015-768x1024.jpg","width":768,"height":1024,"filesize":157595,"mime_type":"image\/jpeg","source_url":"https:\/\/www.tierhilfeweidenberg.de\/wp-content\/uploads\/2025\/07\/IMG-20250724-WA0015-768x1024.jpg"},"1536x1536":{"file":"IMG-20250724-WA0015-1152x1536.jpg","width":1152,"height":1536,"filesize":328717,"mime_type":"image\/jpeg","source_url":"https:\/\/www.tierhilfeweidenberg.de\/wp-content\/uploads\/2025\/07\/IMG-20250724-WA0015-1152x1536.jpg"},"post-thumbnail":{"file":"IMG-20250724-WA0015-604x270.jpg","width":604,"height":270,"filesize":36791,"mime_type":"image\/jpeg","source_url":"https:\/\/www.tierhilfeweidenberg.de\/wp-content\/uploads\/2025\/07\/IMG-20250724-WA0015-604x270.jpg"},"full":{"file":"IMG-20250724-WA0015.jpg","width":1500,"height":2000,"mime_type":"image\/jpeg","source_url":"https:\/\/www.tierhilfeweidenberg.de\/wp-content\/uploads\/2025\/07\/IMG-20250724-WA0015.jpg"}},"image_meta":{"aperture":"0","credit":"","camera":"","caption":"","created_timestamp":"0","copyright":"","focal_length":"0","iso":"0","shutter_speed":"0","title":"","orientation":"0","keywords":[]}},"post":null,"source_url":"https:\/\/www.tierhilfeweidenberg.de\/wp-content\/uploads\/2025\/07\/IMG-20250724-WA0015.jpg","filename":"IMG-20250724-WA0015.jpg","filesize":448413,"_links":{"self":[{"href":"https:\/\/www.tierhilfeweidenberg.de\/en\/wp-json\/wp\/v2\/media\/4623","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tierhilfeweidenberg.de\/en\/wp-json\/wp\/v2\/media"}],"about":[{"href":"https:\/\/www.tierhilfeweidenberg.de\/en\/wp-json\/wp\/v2\/types\/attachment"}],"author":[{"embeddable":true,"href":"https:\/\/www.tierhilfeweidenberg.de\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tierhilfeweidenberg.de\/en\/wp-json\/wp\/v2\/comments?post=4623"}]}}