/** * Sets the same thumbnail ID (`123`) for all posts without thumbnails, i.e., "image placeholder". * * @see https://wpcodebook.com/set-wordpress-post-thumbnail-programmatically/ * @see https://developer.wordpress.org/reference/functions/get_post_thumbnail_id/ */ add_filter( 'post_thumbnail_id', function ( $thumbnail_id, $post ) { return ( ! $thumbnail_id ? 123 : $thumbnail_id ); }, 10, 2 );