As I understand - you have a shop page:
- hidden link
I tried to build the custom archive on your site but it seems you are using modified theme so I do not see the expected result on frontend.
And with your shop page, actually you want to display the posts belongs to post type "Work" instead of product - is that correct?
If yes:
Please check the following doc that shows information about how you can build the custom shop page:
- https://toolset.com/course-lesson/building-a-custom-woocommerce-shop-page/
But when you create a custom shop page, its dedicated to post type "product" that is why I suggest you should create a custom post type archive in legacy view:
- https://toolset.com/course-lesson/enabling-legacy-version-of-toolset-views/
And then create post type archive for product in legacy view:
- https://toolset.com/documentation/legacy-features/views-plugin/creating-wordpress-custom-post-archives/
Also create a view, from Toolset => Views, and create this view to display the post type belongs to work:
- hidden link
And display the above view outside the product archive's loop.
Another solution I can think of is to use "pre_get_posts" standard wordpress hook and check conditionally that if its a shop/product post type archive then you should inject the post type "word" to query. For example:
- You can add the following code to "Custom Code" section offered by Toolset:
=> https://toolset.com/documentation/programmer-reference/adding-custom-code/using-toolset-to-add-custom-code/#benefits-of-adding-custom-code-using-toolset
function func_change_product_archive_post_type_to_work($query) {
if (!is_admin() and is_post_type_archive('product') ) {
$query->set('post_type', array( 'outfit'));
}
}
add_action('pre_get_posts','func_change_product_archive_post_type_to_work',99,1);
To demonstrate you, Here is a sandbox site:
- hidden link
Here is the custom post archive for product that displays the post link assigned to "product" post type eventually used for shop page:
=> hidden link
The shop page is set as frontpage:
- hidden link
(as you can see now, the shop page that is set as frontpage is showing outfit post type posts instead of product posts )
As you can see I've added the following code to "Custom Code" section:
=> hidden link
function my_filter_func($query) {
if (!is_admin() and is_post_type_archive('product') ) {
$query->set('post_type', array( 'outfit'));
}
}
add_action('pre_get_posts','my_filter_func',99,1);
Above code changes the product archive posts to display the "outfit" post type posts.