Various bits of PHP / HTML to customize this theme. PHP can generally be added to the custom.php file included with the skin.



1. Customize front page product display sections with a filter.

add_filter('themedy_section_1', 'custom_section_1');
function custom_section_1() {
    return '[recent_products per_page="3" columns="3"]';

The various sections you can target are themedy_section_1, themedy_section_2, and themedy_section_3 using the same code as the above and just changing the add_filter('themedy_section_1' area.

You can also return any WooCommerce shortcode (or anything else), full list here.

2. Have search box only search products, not pages or posts

function searchfilter($query) {

    if ($query->is_search && !is_admin() ) {

return $query;


3. Add Custom Sale Badge to items

// Add Custom Sale Badge to items
add_filter('woocommerce_sale_flash', 'my_custom_sale_flash', 10, 3);
function my_custom_sale_flash($text, $post, $_product) {
  return '<span class="onsale"> Promo! </span>';  

4. Add Featured Badge to featured items (click star on product listing in dashboard)

// Display the Featured badge
add_action( 'woocommerce_before_shop_loop_item', 'my_custom_featured_badge', 35 );
function my_custom_featured_badge() {
    global $product;
    if($product->is_featured()) {
        echo '<span class="onsale newproduct">'.__( 'Featured', 'themedy').'</span>';

5. Add something before the product meta / category display

//* Add "Test" before the product meta / categories display
add_action( 'woocommerce_product_meta_start', 'themedy_custom_product_item', 11 );
function themedy_custom_product_item() {
    if( 'product' === get_post_type() ) {
        echo "Test<br />";

There are more hooks you can use to display this in different places listed here. You would add these hooks to this area in the above samples: add_action( 'woocommerce_product_meta_start'

6. Change the manual slider to an auto transition slider

In custom.php add:

add_action('wp_footer', 'custom_slider_options');
function custom_slider_options() {
        <script type="text/javascript">
            jQuery(window).load(function() {
                jQuery('.featured-slider .flexslider').flexslider({
                    slideshow: true,
                    slideshowSpeed: 1000

Where 1000 in the above sample would mean have 1 second between loading the next slide.

7. Hide "Shop" page title

You can use the Toggle the Title plugin, to hide most page titles but for the shop page you can use the code below:

add_filter( 'woocommerce_show_page_title' , 'woo_hide_page_title' );
    function woo_hide_page_title() {
    return false;