26. August 2024

FacetWP:
Sticky Posts ignorieren

FacetWP ist ein sehr praktisches Plugin, um individuelle Filter für Beiträge zu erstellen. Leider funktioniert FacetWP nicht besonders gut mit Sticky Posts. Mit diesem PHP-Code kann man Sticky Posts deaktivieren, falls eine FacetWP-Suche aktiv ist:

// Modify FacetWP Query
add_filter( 'facetwp_query_args', function( $query_args, $class )
{
	// Detect active facets
	$facet_active=false;
	foreach($class->facets as $facet)
	{
		if(!empty($facet['selected_values']))
		{
			$facet_active=true;
			break;
		}
	}
	
	// Disable Sticky Posts for FacetWP
	if ( $facet_active )
	{
		$query_args['ignore_sticky_posts'] = true;
	}
	
	return $query_args;
}, 10, 2);

Ist FacetWP nicht aktiv, werden die Sticky Posts normal über den anderen Beiträgen angezeigt.