Yogesh Chauhan's Blog

WordPress: How to find all posts with a specific custom field value?

in WordPress on March 19, 2021

We can pass arguments in get_posts function and WP_Query Object and query custom field values.

Here’s a basic example of how to use get_posts function and pass the arguments to find all posts where a custom field called “blog” has a value of “yogeshchauhan”.



$posts = get_posts(array(
	'numberposts'	=> -1,
	'post_type'	=> 'posts',
	'meta_key'	=> 'blog',
	'meta_value'	=> 'yogeshchauhan'
));


Here’s another basic example of how to use get_posts function and pass the arguments to find all posts from custom post type “guest_posts” where a custom field called “blog” has a value of “yogeshchauhan”.



$posts = get_posts(array(
	'numberposts'	=> -1,
	'post_type'	=> 'guest_posts',
	'meta_key'	=> 'blog',
	'meta_value'	=> 'yogeshchauhan'
));


Custom Fields Query like SQL: AND Operator

In the following example, I am passing multiple arguments in get_posts function to find all posts where a custom field called “blog” has a value of “yogeshchauhan” or “w3org”.

Also, there is another custom field called “featured” which is a checkbox that indicates if the blog post if featured or not and it takes boolean parameter. We are passing 1 as a parameter to see whether that checkbox is checked.



$posts = get_posts(array(
	'numberposts'	=> -1,
	'post_type'		=> 'post',
	'meta_query'	=> array(
		'relation'		=> 'AND',
		array(
			'key'	 	=> 'blog',
			'value'	  	=> array('yogeshchauhan', 'w3org'),
			'compare' 	=> 'IN',
		),
		array(
			'key'	  	=> 'featured',
			'value'	  	=> '1',
			'compare' 	=> '=',
		),
	),
));


Custom Fields Query like SQL: OR Operator

We can convert the same example from above AND operator and just change it to OR operator example.



$posts = get_posts(array(
	'numberposts'	=> -1,
	'post_type'		=> 'post',
	'meta_query'	=> array(
		'relation'		=> 'OR',
		array(
			'key'	 	=> 'blog',
			'value'	  	=> array('yogeshchauhan', 'w3org'),
			'compare' 	=> 'IN',
		),
		array(
			'key'	  	=> 'featured',
			'value'	  	=> '1',
			'compare' 	=> '=',
		),
	),
));


Credit: ACF Docs


Most Read

#1 How to check if radio button is checked or not using JavaScript? #2 Solution to “TypeError: ‘x’ is not iterable” in Angular 9 #3 How to add Read More Read Less Button using JavaScript? #4 How to uninstall Cocoapods from the Mac OS? #5 PHP Login System using PDO Part 1: Create User Registration Page #6 How to Use SQL MAX() Function with Dates?

Recently Posted

#Aug 15 Is PHP still good for back-end programming? #Aug 10 How to create a multisite network in WordPress? #Aug 3 How to create a circle that follows a cursor using JavaScript and CSS? #Aug 3 How to make a curtain slider using jQuery and CSS? #Aug 2 How to progressively load images and add a blurry placeholder? #Aug 1 How to create a placeholder loader (throbber) using CSS?
You might also like these
How does while loop work in SCSS?SCSSHow to display random posts in WordPress?WordPressGap in Flex?CSSWordPress: How to loop through a repeater field in ACF?WordPressForcing the domain to serve securely using HTTPSMiscellaneousHow to add a ribbon inside a container using CSS?CSS