image_add_caption() - WordPress 函数参考中文文档

返回介绍

image_add_caption()

发布于 2017-09-11 字数 3981 浏览 1059 评论 0

image_add_caption( string $html,  integer $id,  string $caption,  string $title,  string $align,  string $url,  string $size,  string $alt = '' )

Adds image shortcode with caption to editor


描述


参数

$html

(string)
(Required)

$id

(integer)
(Required)

$caption

(string)
(Required)
image caption

$title

(string)
(Required)
image title attribute

$align

(string)
(Required)
image css alignment property

$url

(string)
(Required)
image src url

$size

(string)
(Required)
image size (thumbnail, medium, large, full or added with add_image_size() )

$alt

(string)
(Optional)
image alt attribute

Default value: ”


返回值

(string)


源代码

File: 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 = '' . $html . ' ' . $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 );
}

更新日志

Version 描述
2.6.0 Introduced.

相关函数

Uses

  • wp-admin/includes/media.php:
    image_add_caption_text
  • wp-admin/includes/media.php:
    disable_captions
  • wp-admin/includes/media.php:
    image_add_caption_shortcode
  • wp-includes/plugin.php:
    apply_filters()

User Contributed Notes

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

目前还没有任何评论,快来抢沙发吧!