Support » Plugin: Ajax Search Lite » Add a div wrapper to results based on WooCommerce category

  • Resolved Leandro



    I have a video category on my WooCommerce store and I’ve added a div to wrap the thumbnails in order to add a play button on top of the thumbnails.

    I was wondering if it’s possible to do the same to the images in my search results? Maybe with a hook or something else?

    I just need the play button to be on top of certain categories, not all of them.

    The page I need help with: [log in to see the link]

Viewing 4 replies - 1 through 4 (of 4 total)
  • Plugin Author wpdreams



    There is a hook actually: asl_result_css_class

    You can use it like:

    add_filter('asl_result_css_class', 'my_asl_result_css_class', 10, 1);
    function my_asl_result_css_class($classes) {
    	$my_classes = 'class1 class2';
    	return $my_classes . ' ' . $classes;

    Ernest M.

    Thread Starter Leandro


    That’s awesome! I just tried it and it works fine.

    But I’m having issues using conditionals to add the class only to a particular WooCommerce category.

    I’ve tried all these conditionals but none is working:

    if ( has_term( array ('timelapse', 'timelapse-en'), 'product_cat' ) || is_product_category( array ('434', '1026') ) || cat_is_ancestor_of( array (434, 1026), get_queried_object()->term_id ) )

    I know they are working with other hooks, just not with your plugin.

    Also, I noticed the plugin creates the asl_r_product class. Would it be possible to create another class to every category the product is in? Maybe that’s another solution that could work.

    Thank you

    Plugin Author wpdreams


    Well, that is not within a regular loop, so that would not work. Unfortunately that filter does not pass on the result arguments either, I forgot to add that.

    I think the best solution would be to correct that filter via editing the plugin code, and I will also make that change in the upcoming release. For that, please replace the wp-content/plugins/ajax-search-lite/includes/views/result.php file in the plugin folder with this.

    Then, you can change the filter to use 3 arguments:

    add_filter('asl_result_css_class', 'my_asl_result_css_class', 10, 3);
    function my_asl_result_css_class($classes, $id, $result) {
    	$my_classes = 'class1 class2';
    	return $my_classes . ' ' . $classes;

    $id -> the post type ID
    $result -> a custom stdClass result object (not WP_Post), containing these fields:

        [title] => Result title
        [id] => 1
        [date] => July 7, 2020 8:22 am
        [content] => Short post content..
        [excerpt] => 
        [content_type] => pagepost
        [author] => admin
        [post_type] => page
        [relevance] => 1
        [link] =>
        [image] =>

    That should give you more control, and use API functions via the $id variable where needed.

    • This reply was modified 4 months, 3 weeks ago by wpdreams. Reason: typos
    Thread Starter Leandro


    Thank you! I’ll look into this.

    • This reply was modified 4 months, 3 weeks ago by Leandro.
Viewing 4 replies - 1 through 4 (of 4 total)
  • You must be logged in to reply to this topic.