芝麻web文件管理V1.00
编辑当前文件:/var/www/cognitio.in/wp-content/plugins/the-events-calendar/src/Tribe/Repositories/Organizer.php
create_args['post_type'] = Tribe__Events__Organizer::POSTTYPE; $this->default_args = [ 'post_type' => Tribe__Events__Organizer::POSTTYPE, // We'll be handling the dates, let's mark the query as a non-filtered one. 'tribe_suppress_query_filters' => true, ]; // Add organizer specific aliases. $this->update_fields_aliases = array_merge( $this->update_fields_aliases, [ 'organizer' => 'post_title', 'phone' => '_OrganizerPhone', 'website' => '_OrganizerWebsite', 'email' => '_OrganizerEmail', ] ); $this->linked_id_meta_key = '_EventOrganizerID'; $this->add_simple_meta_schema_entry( 'email', '_OrganizerEmail' ); $this->add_simple_meta_schema_entry( 'phone', '_OrganizerPhone' ); $this->add_simple_meta_schema_entry( 'website', '_OrganizerWebsite' ); $this->schema = array_merge( $this->schema, [ 'has_events' => [ $this, 'filter_by_has_events' ], 'has_no_events' => [ $this, 'filter_by_has_no_events' ], ] ); } /** * {@inheritdoc} */ public function filter_postarr_for_create( array $postarr ) { // Require some minimum fields. if ( ! isset( $postarr['post_title'] ) ) { return false; } return parent::filter_postarr_for_create( $postarr ); } /** * Filters a organizer query by ones that have associated events. * * @since 5.5.0 * * @return array An array of query arguments that will be added to the main query. */ public function filter_by_has_events() { global $wpdb; $this->filter_query->join( $wpdb->prepare( " INNER JOIN {$wpdb->postmeta} AS organizer_has_events ON ({$wpdb->posts}.ID = organizer_has_events.meta_value AND organizer_has_events.meta_key = %s) ", $this->linked_id_meta_key ) ); } /** * Filters a organizer query by ones that DO NOT have associated events. * * @since 5.5.0 * * @return array An array of query arguments that will be added to the main query. */ public function filter_by_has_no_events() { global $wpdb; $this->filter_query->where( $wpdb->prepare( "NOT EXISTS ( SELECT * FROM {$wpdb->postmeta} WHERE {$wpdb->postmeta}.meta_key = %s AND {$wpdb->postmeta}.meta_value = {$wpdb->posts}.ID ) ", $this->linked_id_meta_key ) ); } }