WP_Query search by TITLE

Δημοσιεύθηκε 03/02/2023

Έχουμε την δυνατότητα να προσθέσουμε αναζήτηση μέσω του post TITLE στο WP_Query, με το filter posts_where.

Έτσι πλέον μπορούμε στο $args να έχουμε την custom αναζήτηση του
‘search_title’ => $search_term.

/**
 * Add ability to WP_Query to search by title
 */
add_filter('posts_where', 'nb_search_title_posts_where', 10, 2);
function nb_search_title_posts_where($where, \WP_Query $wp_query)
{
	global $wpdb;
	if ($title = $wp_query->get('search_title')) {
		$where .= " AND " . $wpdb->posts . ".post_title LIKE '" . esc_sql($wpdb->esc_like($title)) . "%'";
	}
	return $where;
}


///////////////////////////////////////////


$args = array(
    'post_type'        => 'portfolio',

    'posts_per_page'   => -1,
    'post_status'      => 'publish',

    'search_title'     => $search_term,
);

$wp_query = new WP_Query($args);