Fix duplicate issue within paginated posts

If you sort by menu_order you can get duplicated posts if you use pagination and not all posts have a order value. You can fix this like so:

/**
 * Post types
 */
class PostType {
	/**
	 * Construct
	 */
	public function __construct() {
		add_filter( 'pre_get_posts', array( $this, 'archive_query' ) );
	}

	/**
	 * Archive query
	 */
	public archive_query( $query ) {
		if ( is_admin() ) {
			return;
		}

		if ( ! $query->is_main_query() ) {
			return;
		}

		if ( ! $query->is_post_type_archive( 'some_post_type' ) ) {
			return;
		}

		$query->set(
			'orderby',
			array(
				'menu_order' => 'DESC',
				'date'       => 'ASC',
			)
		);

		$query->set( 'posts_per_page', 16 );
	}
}