Both the list-catogory-posts and relevanssi are create plugins to improve your wordpress site.
However there is a conflict between the two.
The following search syntax will not work with the relevanssi plugin active on the same site as the catory posts plugin.
[catlist search="term"]
The issue is addressed in an old support message together with a pointer to the solution. At first glance the solution is quite simple, disable relevanssi before executing the category list.
remove_filter('posts_request', 'relevanssi_prevent_default_request');
remove_filter('the_posts', 'relevanssi_query', 99);
So, how to do the later.
The catlist does no have any hooks or filters to insert the requered code nicely. Simply adding the two lines to the templates functions.php or a custom plugin would disable relevanssi altogether. There are several ways to solve the problem.
A solution would be to insert the code into the theme file single.php and or page.php, these are called after the main query. So disabling relevanssi here will not affect the search on your site.
Below is a more general solution, wrapping the catlist shortcode function.
Create a file plugins/catlistrelevanssi.php, add the code below and active the plugin in your wordpress dashboard.
You could add the code to the themes functions.php. Keep in mind that changes in themes are overwritten at each update unless you use a child-theme.
<?php
/*
Plugin Name: Catlist versus Relevanssi
Description: Disable Relevanssi for Catlist.
*/
add_action( 'plugins_loaded', 'CatListRelevanssi' );
function CatListRelevanssi () {
remove_shortcode('catlist');
add_shortcode('catlist',function($atts) {
remove_filter('posts_request', 'relevanssi_prevent_default_request');
remove_filter('the_posts', 'relevanssi_query', 99);
$catlist=ListCategoryPosts::catlist_func($atts);
add_filter('posts_request', 'relevanssi_prevent_default_request');
add_filter('the_posts', 'relevanssi_query', 99);
return $catlist;
}
);
}