Note: You are viewing the documentation for Version 4View Version 3 Docs


Since: 4.0.0

Table of Contents

Control what content can be indexed and searched by SearchWP. See also \SearchWP\Source.


Type Parameter Default Since
Array $sources Core Sources 4.0.0


All hooks should be added to your custom SearchWP Customizations Plugin.

Add custom Source to SearchWP

This example Source is modeled upon a custom database table. See lines 46-50 for usage of this particular hook.

* Adds custom SearchWP\Source for MyCustomSources.
add_action( 'plugins_loaded', function() {
class MyCustomSource extends \SearchWP\Source {
// Unique name for this source.
protected $name = 'mycustomsource';
// Database column name that tracks entries for this Source.
protected $db_id_column = 'id';
function __construct() {
global $wpdb;
// The database table storing entries.
$this->db_table = $wpdb->get_blog_prefix() . 'my_db_table';
// Labels for this Source.
$this->labels = [
'plural' => 'My Custom Source Entries',
'singular' => 'My Custom Source Entry',
// Attributes for this Source.
$this->attributes = [ [
'name' => 'content',
'label' => 'Entry Content',
'default' => \SearchWP\Utils::get_min_engine_weight(),
'data' => function( $entry_id ) {
return MyCustomSource::get_content( $entry_id );
], ];
// Returns a native object.
public function entry( \SearchWP\Entry $entry, $query = false ) {
return MyCustomSource::get_entry( $entry->get_id() );
// Append this Source to the list of available Sources in SearchWP.
add_filter( 'searchwp\sources', function( $sources ) {
$sources[] = new MyCustomSource();
return $sources;
} );
} );

How to use this code

Fix keyword search on your site. No coding required!

Now you can utilize all of the content that's gone unrecognized by native WordPress keyword search instantly with SearchWP

Get SearchWP