[ Index ] |
WordPress Cross Reference |
[Summary view] [Print] [Text view]
1 <?php 2 /** 3 * WordPress Post Thumbnail Template Functions. 4 * 5 * Support for post thumbnails 6 * Themes function.php must call add_theme_support( 'post-thumbnails' ) to use these. 7 * 8 * @package WordPress 9 * @subpackage Template 10 */ 11 12 /** 13 * Check if post has an image attached. 14 * 15 * @since 2.9.0 16 * 17 * @param int $post_id Optional. Post ID. 18 * @return bool Whether post has an image attached. 19 */ 20 function has_post_thumbnail( $post_id = null ) { 21 return (bool) get_post_thumbnail_id( $post_id ); 22 } 23 24 /** 25 * Retrieve Post Thumbnail ID. 26 * 27 * @since 2.9.0 28 * 29 * @param int $post_id Optional. Post ID. 30 * @return int 31 */ 32 function get_post_thumbnail_id( $post_id = null ) { 33 $post_id = ( null === $post_id ) ? get_the_ID() : $post_id; 34 return get_post_meta( $post_id, '_thumbnail_id', true ); 35 } 36 37 /** 38 * Display Post Thumbnail. 39 * 40 * @since 2.9.0 41 * 42 * @param string|array $size Optional. Image size. Defaults to 'post-thumbnail', which theme sets using set_post_thumbnail_size( $width, $height, $crop_flag );. 43 * @param string|array $attr Optional. Query string or array of attributes. 44 */ 45 function the_post_thumbnail( $size = 'post-thumbnail', $attr = '' ) { 46 echo get_the_post_thumbnail( null, $size, $attr ); 47 } 48 49 /** 50 * Update cache for thumbnails in the current loop 51 * 52 * @since 3.2 53 * 54 * @param object $wp_query Optional. A WP_Query instance. Defaults to the $wp_query global. 55 */ 56 function update_post_thumbnail_cache( $wp_query = null ) { 57 if ( ! $wp_query ) 58 $wp_query = $GLOBALS['wp_query']; 59 60 if ( $wp_query->thumbnails_cached ) 61 return; 62 63 $thumb_ids = array(); 64 foreach ( $wp_query->posts as $post ) { 65 if ( $id = get_post_thumbnail_id( $post->ID ) ) 66 $thumb_ids[] = $id; 67 } 68 69 if ( ! empty ( $thumb_ids ) ) { 70 _prime_post_caches( $thumb_ids, false, true ); 71 } 72 73 $wp_query->thumbnails_cached = true; 74 } 75 76 /** 77 * Retrieve Post Thumbnail. 78 * 79 * @since 2.9.0 80 * 81 * @param int $post_id Optional. Post ID. 82 * @param string $size Optional. Image size. Defaults to 'post-thumbnail'. 83 * @param string|array $attr Optional. Query string or array of attributes. 84 */ 85 function get_the_post_thumbnail( $post_id = null, $size = 'post-thumbnail', $attr = '' ) { 86 $post_id = ( null === $post_id ) ? get_the_ID() : $post_id; 87 $post_thumbnail_id = get_post_thumbnail_id( $post_id ); 88 89 /** 90 * Filter the post thumbnail size. 91 * 92 * @since 2.9.0 93 * 94 * @param string $size The post thumbnail size. 95 */ 96 $size = apply_filters( 'post_thumbnail_size', $size ); 97 98 if ( $post_thumbnail_id ) { 99 100 /** 101 * Fires before fetching the post thumbnail HTML. 102 * 103 * Provides "just in time" filtering of all filters in wp_get_attachment_image(). 104 * 105 * @since 2.9.0 106 * 107 * @param string $post_id The post ID. 108 * @param string $post_thumbnail_id The post thumbnail ID. 109 * @param string $size The post thumbnail size. 110 */ 111 do_action( 'begin_fetch_post_thumbnail_html', $post_id, $post_thumbnail_id, $size ); 112 if ( in_the_loop() ) 113 update_post_thumbnail_cache(); 114 $html = wp_get_attachment_image( $post_thumbnail_id, $size, false, $attr ); 115 116 /** 117 * Fires after fetching the post thumbnail HTML. 118 * 119 * @since 2.9.0 120 * 121 * @param string $post_id The post ID. 122 * @param string $post_thumbnail_id The post thumbnail ID. 123 * @param string $size The post thumbnail size. 124 */ 125 do_action( 'end_fetch_post_thumbnail_html', $post_id, $post_thumbnail_id, $size ); 126 127 } else { 128 $html = ''; 129 } 130 /** 131 * Filter the post thumbnail HTML. 132 * 133 * @since 2.9.0 134 * 135 * @param string $html The post thumbnail HTML. 136 * @param string $post_id The post ID. 137 * @param string $post_thumbnail_id The post thumbnail ID. 138 * @param string $size The post thumbnail size. 139 * @param string $attr Query string of attributes. 140 */ 141 return apply_filters( 'post_thumbnail_html', $html, $post_id, $post_thumbnail_id, $size, $attr ); 142 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Tue Mar 25 01:41:18 2014 | WordPress honlapkészítés: online1.hu |