Created
August 12, 2022 02:50
-
-
Save robertdevore/8c8bb131d1ea8ef4a9691f87a737453e to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* Get array of post ID's with specific meta key and value | |
* | |
* @param string $meta_key - The meta key you are checking for | |
* @param string $meta_value - The meta value for the meta key you're checking for | |
* @param string $post_type - The post type to use with get_posts() - default: post | |
* | |
* @return array | |
*/ | |
function acme_post_ids_array( $meta_key, $meta_value, $post_type = 'post' ) { | |
// Create array. | |
$post_ids = array(); | |
// Args for posts. | |
$args = array( | |
'meta_query' => array( | |
array( | |
'key' => $meta_key, | |
'value' => $meta_value, | |
'compare' => '=' | |
) | |
), | |
'numberposts' => -1, | |
'offset' => 0, | |
'post_type' => $post_type, | |
'post_status' => 'publish', | |
); | |
// Filter the args. | |
$args = apply_filters( 'acme_post_ids_array_args', $args ); | |
// Get all posts. | |
$posts = get_posts( $args ); | |
// Loop through posts. | |
foreach( $posts as $the_post ) { | |
// Add post ID to array. | |
$post_ids[] = $the_post->ID; | |
} | |
// Filter the array. | |
return apply_filters( 'acme_post_ids_array', $post_ids ); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment