Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Get The First Image From a Post
- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- Let's say you wanted to use the post thumbnail feature of WordPress, but had a whole archive of posts that would take too much time to go through. For new posts, you can be specific and use the feature as intended. For old posts, you just want to use the first image it finds in the content for the thumbnail, or a default if none present.
- Add this to functions.php or make a functionality plugin:
- <?php
- function catch_that_image() {
- global $post, $posts;
- $first_img = '';
- ob_start();
- ob_end_clean();
- $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
- $first_img = $matches[1][0];
- if(empty($first_img)) {
- $first_img = "/path/to/default.png";
- }
- return $first_img;
- }
- ?>
- To use it, use this code in the loop:
- <?php
- if ( get_the_post_thumbnail($post_id) != '' ) {
- echo '<a href="'; the_permalink(); echo '" class="thumbnail-wrapper">';
- the_post_thumbnail();
- echo '</a>';
- } else {
- echo '<a href="'; the_permalink(); echo '" class="thumbnail-wrapper">';
- echo '<img src="';
- echo catch_that_image();
- echo '" alt="" />';
- echo '</a>';
- }
- ?>
- I found that has_post_thumbnail wasn't as reliable as the logic above.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement