Query Multiple Post Types and Paginate Newly Created List

Never use new WP_Query for the main query of an archive template. WordPress has already queried the correct posts and things like pagination are based on that query. If you want to modify that query you should use the pre_get_posts to modify the main query before it is run.

The hook runs on every query that is performed, and the WP_Query object is passed a parameter so that you can modify it. You can use its various methods to identify which query you’re modifying.

To modify the main archive of a resource post type to also display posts your code would look like this:

add_action(
    'pre_get_posts',
    function( $query ) {
        if ( ! is_admin() && $query->is_post_type_archive( 'resource' ) ) {
            $query->set( 'post_type', [ 'resource', 'post' ] );
        }
    }
);

tech