Basically every time that I publish a post I want that a random image from my wordpress database be set as the feature image for that post. Can someone help me with this please!
Basically every time that I publish a post I want that a random image from my wordpress database be set as the feature image for that post. Can someone help me with this please!
Share Improve this question asked Mar 14, 2013 at 16:32 David ReisDavid Reis 351 silver badge7 bronze badges1 Answer
Reset to default 1Here is a way:
// listen for post being published
add_action('publish_post', 'dreis_random_featured_image');
function dreis_random_featured_image() {
global $post;
// find one random image
$args = array(
'post_type' => 'attachment',
'post_mime_type' => 'image',
'post_status' => 'inherit',
'posts_per_page' => 1,
'orderby' => 'rand'
);
$random_image = new WP_Query($args);
foreach($random_image as $image){
// set as thumbnail
set_post_thumbnail($post->ID, $image->ID);
}
// reset loop to avoid weirdness
wp_reset_query();
}