admin管理员组

文章数量:1303427

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 badges
Add a comment  | 

1 Answer 1

Reset to default 1

Here 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();
}

本文标签: pluginsSet featured image randomly from Wordpress Database on post submission