Skip to content

Instantly share code, notes, and snippets.

@claudiosanches
Last active October 9, 2015 09:57
Show Gist options
  • Save claudiosanches/3484694 to your computer and use it in GitHub Desktop.
Save claudiosanches/3484694 to your computer and use it in GitHub Desktop.
Wordpress: Automatically sets the post thumbnail
<?php
/**
* Automatically sets the post thumbnail.
*
* @global array $post WP post object.
*/
function odin_autoset_featured() {
global $post;
if ( isset( $post->ID ) ) {
$already_has_thumb = has_post_thumbnail( $post->ID );
if ( ! $already_has_thumb ) {
$attached_image = get_children( 'post_parent=' . $post->ID . '&post_type=attachment&post_mime_type=image&numberposts=1' );
if ( $attached_image ) {
foreach ( $attached_image as $attachment_id => $attachment ) {
set_post_thumbnail( $post->ID, $attachment_id );
}
}
}
}
}
add_action( 'the_post', 'odin_autoset_featured' );
add_action( 'save_post', 'odin_autoset_featured' );
add_action( 'draft_to_publish', 'odin_autoset_featured' );
add_action( 'new_to_publish', 'odin_autoset_featured' );
add_action( 'pending_to_publish', 'odin_autoset_featured' );
add_action( 'future_to_publish', 'odin_autoset_featured' );
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment