7
votes

I am working on a WooCommerce WordPress site. I have added WooCommerce search feature for product. But both main shop page and search result page have same template archive-product.php. But I want separate design for both pages. How can I do that?

3
Have you added search.php file in your theme ?Akshay Paghdar
search.php is there in my theme folder. Do i want to add search.php in woocommerce template folder?Arun
I solved this by adding is_search() in the archive-product.phpArun

3 Answers

15
votes

As @arun said in the comments copy the archive-product.php and paste in the to the woocommerce folder inside your theme (if you don't have this folder, create one)

Open the file and split the content inside that file using a php if statement

if ( is_search() ) {
    //put your search results markup here (you can copy some code from archive-product.php file and also from content-product.php to create a standard markup
} else {
    // here goes the content that is already in that file (archive-product.php) 
}

Just make sure this line of code always stays at the top of the file:

if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
0
votes

Based on @Capital Themes answer - you can inverse the function and add code for the non search form categories:

<?php   if (! is_search() ) {
//Added code for non search form
} else {
// if want something only for search
}   ?>
0
votes

you must use file product-searchform.php in woocommerce/templates directore.

and customize search page by loop files in woocomerce/templates/global directore

And then with the is_search() method you can find out if you are in searching page or not.