Zaeem Javed
Zaeem Javed

Reputation: 57

How to Customize Elementor Posts query for a custom field?

I am using wordpress & I want elementor posts widget to show only posts which belong to a category & which belong to a specific institute.

Problem: Category part can be done inside widget itself but filtering institute (custom field) is my problem.


Solution I am trying:

add_action( 'elementor/query/institute-query', function( $query ) {
$meta_query = $query->get( 'meta_query' );

// Append our meta query instead of overwriting all elementors own metaqueries
if($meta_query == ""){
    $meta_query = array();
}

// Append our meta query
$meta_query[] = [
    'key' => 'course_institution',
    'value' => [ 'University of Pennsylvania', 'university of pennsylvania', 'University-of-Pennsylvania', 'university-of-pennsylvania' ],
    'compare' => 'or',
];
$query->set( 'meta_query', $meta_query );} );

Upvotes: 1

Views: 1106

Answers (1)

Bhautik
Bhautik

Reputation: 11282

You should use 'compare' => 'IN', insted of 'compare' => 'or',

add_action( 'elementor/query/institute-query', function( $query ) {
    $meta_query = $query->get( 'meta_query' );

    // Append our meta query instead of overwriting all elementors own metaqueries
    if( !is_array( $meta_query ){
        $meta_query = array();
    }

    // Append our meta query
    $meta_query[] = [
        'key'     => 'course_institution',
        'value'   => [ 'University of Pennsylvania', 'university of pennsylvania', 'University-of-Pennsylvania', 'university-of-pennsylvania' ],
        'compare' => 'IN',
    ];
    $query->set( 'meta_query', $meta_query );
} );

Upvotes: 1

Related Questions