post_type !== 'wpvr_item' ) { return; } $post_type = $tour->post_type; $post_type_object = get_post_type_object( $post_type ); $post_type_name = $post_type_object ? strtolower( $post_type_object->labels->singular_name ) : 'post'; $event_type = ''; $previous_status = get_post_meta( $tour_id, '_previous_status', true ); switch ( $status ) { case 'publish': if ( $previous_status === 'draft' || $previous_status === 'auto-draft' || empty( $previous_status ) ) { $event_type = 'first_' . $post_type_name . '_created'; $existing_posts = get_posts( array( 'post_type' => $post_type, 'post_status' => 'publish', 'author' => $tour->post_author, 'posts_per_page' => 1, 'exclude' => array( $tour_id ), 'fields' => 'ids' ) ); if ( ! empty( $existing_posts ) ) { $event_type = $post_type_name . '_updated'; } } else { $event_type = $post_type_name . '_updated'; } break; case 'draft': if ( empty( $previous_status ) || $previous_status === 'auto-draft' ) { $event_type = $post_type_name . '_published'; } else { $event_type = $post_type_name . '_updated'; } break; default: $event_type = $post_type_name . '_updated'; break; } if ( ! empty( $event_type ) ) { $this->track_setup_moment( $event_type, array( 'post_title' => $tour->post_title, 'post_type' => $post_type, 'creation_time' => current_time( 'c' ), ) ); } update_post_meta( $tour_id, '_previous_status', $status ); } }