Skip to content

Instantly share code, notes, and snippets.

Avatar

Mikko Saari msaari

View GitHub Profile
@msaari
msaari / jetsmartfilters.php
Created Jun 18, 2022
JetSmartFilters Relevanssi fix
View jetsmartfilters.php
<?php
add_action( 'pre_get_posts', 'rlv_jetsmartfilters', 9999 );
/**
* Makes JetSmartFilters use posts from Relevanssi.
*
* @param WP_Query $wp_query The wp_query object.
*/
function rlv_jetsmartfilters( $wp_query ) {
@msaari
msaari / relevanssi-woocommerce.php
Last active Jun 23, 2022
Relevanssi WooCommerce filter
View relevanssi-woocommerce.php
<?php
// Add this to theme functions.php or in a code snippet:
add_filter( 'relevanssi_modify_wp_query', 'rlv_woocommerce_filters' );
function rlv_woocommerce_filters( $query ) {
// phpcs:disable WordPress.Security.NonceVerification.Recommended
$min_price = isset( $_REQUEST['min_price'] ) ? intval( $_REQUEST['min_price'] ) : false;
$max_price = isset( $_REQUEST['max_price'] ) ? intval( $_REQUEST['max_price'] ) : false;
@msaari
msaari / functions.php
Created Feb 10, 2022
Increases the weight for headings
View functions.php
<?php
add_filter( 'relevanssi_post_content', 'rlv_heading_boost' );
function rlv_heading_boost( $content ) {
if ( preg_match_all( '/<h1.*?>(.*?)<\/h1>/', $content, $h1_headings ) ) {
foreach ( $h1_headings[1] as $heading ) {
$content .= " $heading $heading $heading $heading $heading $heading $heading $heading";
}
}
if ( preg_match_all( '/<h2.*?>(.*?)<\/h2>/', $content, $h2_headings ) ) {
@msaari
msaari / base64_decode.php
Created Apr 9, 2021
Base64 decoding code block content
View base64_decode.php
<?php
add_filter( 'relevanssi_oxygen_section_content', function( $content ) {
if ( preg_match_all( '/\[ct_code_block.*?ct_code_block\]/', $content, $matches ) ) {
foreach ( $matches[0] as $match ) {
if ( preg_match_all( '/"code-php":"(.*?)"/', $match, $block_matches ) ) {
foreach ( $block_matches[1] as $encoded_text ) {
$content .= base64_decode( $encoded_text );
}
}
@msaari
msaari / relevanssilight.sql
Created Apr 9, 2021
Relevanssi Light database alterations
View relevanssilight.sql
ALTER TABLE xx_posts ADD COLUMN `relevanssi_light_data` LONGTEXT
ALTER TABLE xx_posts ADD FULLTEXT `relevanssi_light_fulltext` (`post_title`,`post_content`,`post_excerpt`,`relevanssi_light_data`)
@msaari
msaari / functions.php
Created Dec 29, 2020
Excluding posts from the Relevanssi index
View functions.php
<?php
// Put this in your theme functions.php
add_filter( 'relevanssi_do_not_index', 'rlv_skip_page', 10, 2 );
function rlv_skip_page( $skip, $page ) {
$excluded_pages = array( 123, 234 ); // List all the ID numbers of the excluded pages here.
if ( in_array( $page, $excluded_pages, true ) ) {
$skip = true;
}
return $skip;
@msaari
msaari / oxygen.php
Created Nov 14, 2020
Improved Oxygen compatibility
View oxygen.php
<?php
/**
* /lib/compatibility/oxygen.php
*
* Oxygen Builder compatibility features.
*
* @package Relevanssi
* @author Mikko Saari
* @license https://wordpress.org/about/gpl/ GNU General Public License
* @see https://www.relevanssi.com/
@msaari
msaari / paidmembershippro.php
Created Oct 27, 2020
/lib/compatibility/paidmembershippro.php
View paidmembershippro.php
<?php
/**
* /lib/compatibility/paidmembershippro.php
*
* Paid Membership Pro compatibility features.
*
* @package Relevanssi
* @author Mikko Saari
* @license https://wordpress.org/about/gpl/ GNU General Public License
* @see https://www.relevanssi.com/
@msaari
msaari / functions.php
Created Oct 15, 2020
Block Formidable Forms entries
View functions.php
<?php
// Add this to theme functions.php and rebuild the index to remove Formidable Forms entries from index
add_filter( 'relevanssi_indexing_restriction', 'rlv_no_formidable' );
function rlv_no_formidable( $restriction ) {
global $wpdb;
$restriction['mysql'] .= " AND post.ID NOT IN (SELECT post_id FROM $wpdb->postmeta WHERE meta_key = '_wp_attached_file' AND meta_value LIKE 'formidable%' ) ";
$restriction['reason'] .= ' No Formidable Forms entries';
return $restriction;
}
@msaari
msaari / indexing.php
Created Aug 28, 2020
Relevanssi indexing.php without doc count update
View indexing.php
<?php
/**
* /lib/indexing.php
*
* @package Relevanssi
* @author Mikko Saari
* @license https://wordpress.org/about/gpl/ GNU General Public License
* @see https://www.relevanssi.com/
*/