web-dev-qa-db-fra.com

Définir une image sélectionnée au hasard dans la base de données Wordpress lors de la soumission

En gros, chaque fois que je publie un article, je souhaite qu'une image aléatoire de ma base de données wordpress soit définie en tant qu'image caractéristique de cet article. Quelqu'un peut-il m'aider avec cela s'il vous plaît!

1
David Reis

Voici un moyen:

// 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();
}
1
GhostToast