image_add_caption
Adds image shortcode with caption to editor.
Description
Returns (string)
Parameters (8)
- 0. $html (string)
- The html.
- 1. $id (integer)
- The id.
- 2. $caption (string)
- Image caption
- 3. $title (string)
- Image title attribute
- 4. $align (string)
- Image css alignment property
- 5. $url (string)
- Image src url
- 6. $size (string)
- Image size (thumbnail, medium, large, full or added with
add_image_size(…)
) - 7. $alt — Optional. (string) =>
''
- Image alt attribute
Usage
if ( !function_exists( 'image_add_caption' ) ) { require_once ABSPATH . '/wp-admin/includes/media.php'; } // The html. $html = ''; // The id. $id = null; // image caption $caption = ''; // image title attribute $title = ''; // image css alignment property $align = ''; // image src url $url = ''; // image size (thumbnail, medium, large, full or added with add_image_size() ) $size = ''; // image alt attribute $alt = ''; // NOTICE! Understand what this does before running. $result = image_add_caption($html, $id, $caption, $title, $align, $url, $size, $alt);
Defined (1)
The function is defined in the following location(s).
- /wp-admin/includes/media.php
- function image_add_caption( $html, $id, $caption, $title, $align, $url, $size, $alt = '' ) {
- /**
- * Filters the caption text.
- *
- * Note: If the caption text is empty, the caption shortcode will not be appended
- * to the image HTML when inserted into the editor.
- *
- * Passing an empty value also prevents the {@see 'image_add_caption_shortcode'}
- * Filters from being evaluated at the end of image_add_caption().
- *
- * @since 4.1.0
- *
- * @param string $caption The original caption text.
- * @param int $id The attachment ID.
- */
- $caption = apply_filters( 'image_add_caption_text', $caption, $id );
- /**
- * Filters whether to disable captions.
- *
- * Prevents image captions from being appended to image HTML when inserted into the editor.
- *
- * @since 2.6.0
- *
- * @param bool $bool Whether to disable appending captions. Returning true to the filter
- * will disable captions. Default empty string.
- */
- if ( empty($caption) || apply_filters( 'disable_captions', '' ) )
- return $html;
- $id = ( 0 < (int) $id ) ? 'attachment_' . $id : '';
- if ( ! preg_match( '/width=["\']([0-9]+)/', $html, $matches ) )
- return $html;
- $width = $matches[1];
- $caption = str_replace( array("\r\n", "\r"), "\n", $caption);
- $caption = preg_replace_callback( '/<[a-zA-Z0-9]+(?: [^<>]+>)*/', '_cleanup_image_add_caption', $caption );
- // Convert any remaining line breaks to <br>.
- $caption = preg_replace( '/[ \n\t]*\n[ \t]*/', '<br />', $caption );
- $html = preg_replace( '/(class=["\'][^\'"]*)align(none|left|right|center)\s?/', '$1', $html );
- if ( empty($align) )
- $align = 'none';
- $shcode = '[caption id="' . $id . '" align="align' . $align . '" width="' . $width . '"]' . $html . ' ' . $caption . '[/caption]';
- /**
- * Filters the image HTML markup including the caption shortcode.
- *
- * @since 2.6.0
- *
- * @param string $shcode The image HTML markup with caption shortcode.
- * @param string $html The image HTML markup.
- */
- return apply_filters( 'image_add_caption_shortcode', $shcode, $html );
- }