The main customisation for Relevanssi Light is to add more content to the index. For custom fields, it’s easiest to use the relevanssi_light_custom_fields filter hook. Give the hook an array of custom field names, and the plugin will include the contents of those custom fields in the full-text index.
If you want to add more content, you may need to override the relevanssi_light_update_post_data() function. It’s pluggable so that you can override it from a must-use plugin. Here’s an example plugin that will include the post author’s name in the full-text index:
<?php
/**
* Plugin Name: Relevanssi Light Override
* Plugin URI: https://www.domain.com
* Description: Overrides Relevanssi Light post data update.
* Version: 1
* Author: Mikko Saari
* Author URI: https://www.relevanssi.com/
* License: GPLv2 or later
* License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/
if ( ! function_exists( 'relevanssi_light_update_post_data' ) ) {
function relevanssi_light_update_post_data( $post_id ) {
global $wpdb;
// Fetch the author ID and use that to get the author name.
$author_id = (int) $wpdb->get_var(
$wpdb->prepare( "SELECT post_author FROM {$wpdb->posts} WHERE ID = %d ", $post_id )
);
$author_name = get_the_author_meta( 'display_name', $author_id );
// Update the post to add the author name to the relevanssi_light_data column.
$wpdb->update(
$wpdb->posts,
array( 'relevanssi_light_data' => $author_content ),
array( 'ID' => $post_id ),
array( '%s' ),
array( '%d' )
);
}
}
Save this as a file in the /wp-content/mu-plugins/ folder.