true ) ), array( 'attachment' ), swiftling_settings()['never'] ) ); $swiftling_statuses = array( 'publish', 'draft', 'pending', 'private', 'future' ); $swiftling_legend = array( 'reviewed' => __( 'Reviewed', 'swiftling' ), 'machine' => __( 'Machine translated', 'swiftling' ), 'outdated' => __( 'Original changed since translation', 'swiftling' ), 'partial' => __( 'Partly translated: some texts are still empty', 'swiftling' ), 'missing' => __( 'Not translated', 'swiftling' ), 'duplicate' => __( 'Keeps the original: shown as it is, untranslated', 'swiftling' ), ); // phpcs:disable WordPress.Security.NonceVerification.Recommended -- Read-only filters of a list. $swiftling_type = isset( $_GET['type'] ) ? sanitize_key( wp_unslash( $_GET['type'] ) ) : ''; $swiftling_search = isset( $_GET['s'] ) ? sanitize_text_field( wp_unslash( $_GET['s'] ) ) : ''; $swiftling_paged = isset( $_GET['paged'] ) ? max( 1, absint( $_GET['paged'] ) ) : 1; // phpcs:enable if ( ! in_array( $swiftling_type, $swiftling_types, true ) ) { $swiftling_type = ''; } Ui::screenHeader( array( 'crumb' => __( 'Translations', 'swiftling' ), 'title' => __( 'Pages & posts', 'swiftling' ), ) ); if ( ! $swiftling_languages['targets'] ) { Ui::emptyState( __( 'Choose the languages first', 'swiftling' ), __( 'Content is translated into the languages you choose.', 'swiftling' ), array( __( 'Add languages', 'swiftling' ), admin_url( 'admin.php?page=swiftling-languages' ) ) ); return; } $swiftling_query = new WP_Query( array( 'post_type' => '' === $swiftling_type ? $swiftling_types : $swiftling_type, 'post_status' => $swiftling_statuses, 's' => $swiftling_search, 'posts_per_page' => 20, 'paged' => $swiftling_paged, 'orderby' => 'modified', 'order' => 'DESC', // A separate copy is listed as the language of its original. // phpcs:ignore WordPress.DB.SlowDBQuery.slow_db_query_meta_query -- One condition on an indexed key. 'meta_query' => array( array( 'key' => SWIFTLING_COPY_OF, 'compare' => 'NOT EXISTS', ), ), ) ); $swiftling_states = swiftling_post_states( wp_list_pluck( $swiftling_query->posts, 'ID' ) ); $swiftling_tabs = array( '' => __( 'Everything', 'swiftling' ) ); foreach ( $swiftling_types as $swiftling_type_name ) { $swiftling_tabs[ $swiftling_type_name ] = get_post_type_object( $swiftling_type_name )->labels->name; } ?>
posts ) : ?> posts as $swiftling_post ) : ?>
post_title ? __( 'No title', 'swiftling' ) : $swiftling_post->post_title ); ?> post_status ) : ?> post_status )->label ); ?>
post_type )->labels->singular_name ); ?> ID ][ $swiftling_slug ] ); ?> ID ) ); ?>
add_query_arg( 'paged', '%#%' ), 'format' => '', 'current' => $swiftling_paged, 'total' => $swiftling_query->max_num_pages, ) ); if ( $swiftling_pages ) : ?>