ASP_Query
ASP_Query class usage to fetch results with Ajax Search Pro
The ASP_Query class is a wrapper to access Ajax Search Pro search features programmatically in your own code.
The full class name, with arguments explained can be found in wp-content/plugins/ajax-search-pro/includes/classes/search/class-asp-query.php file

Usage

$asp_query = new ASP_Query();
foreach ( $asp_query->posts as $result ) {
/**
* $result (stdClass object) {
* -> Same properties as in WP_Post +
* 'asp_data' (stdClass object) {
* Properties always present:
* 'id' -> Post or other result object (taxonomy term, user etc..) ID,
* 'title' -> Result title
* 'content' -> Result content
* 'image' -> Result image URL
* 'post_type' -> Result post type (if available)
* 'content_type' -> Content type (pagepost, user, term, attachment etc..)
* 'author' -> Author display name (empty string where does not apply)
* 'blogid' -> Blog ID (for multisites)
* Optional properties
* 'post_mime_type' -> (for media results only) Mime type
* 'taxonomy' -> (for term results only) Taxonomy name
* 'user_login' -> (for user results only) User login name
* 'user_nicename' -> (for user results only) User nicename
* 'user_display_name' -> (for user results only) User display_name
* }
* }
**/
// do your thing
var_dump($result);
}
The class constructor accepts two optional parameters, the arguments, and the search ID
$asp_query = new ASP_Query( array $args, int $search_id );
  • $args (array) - array of search arguments, for the possible arguments please check the asp_query_args documentation
  • $search_id (int) - the relevant search instance ID. When set, the plugin will fetch the search instance default configuration and use them as the default query arguments. The $args argument can still override this default configuration if needed.

Example uses

For the possible arguments please check the asp_query_args documentation

Generic search by default configuration, without search instance

$args = array(
's' => 'test'
);
$asp_query = new ASP_Query($args);
foreach ( $asp_query->posts as $result ) {
// do your thing
}

Search based on configuration of search instance = 1

$args = array(
's' => 'test'
);
$asp_query = new ASP_Query($args, 1);
foreach ( $asp_query->posts as $result ) {
// do your thing
}

Generic search with more arguments

$args = array(
"s" => $phrase,
"_ajax_search" => false,
'keyword_logic' => 'AND',
'secondary_logic' => 'OR',
"posts_per_page" => 20,
'post_type' => $ptypes,
'post_status' => array('publish', 'future', 'pending', 'private'),
'post_fields' => array(
'title', 'ids'
)
);
$asp_query = new ASP_Query();
foreach ( $asp_query->posts as $result ) {
// do your thing
}
Copy link