shortcode_atts

函数


shortcode_atts ( $pairs, $atts, $shortcode = '' )
参数
  • (array)
    $pairs
    Entire list of supported attributes and their defaults.
    Required:
  • (array)
    $atts
    User defined attributes in shortcode tag.
    Required:
  • (string)
    $shortcode
    Optional. The name of the shortcode, provided for context to enable filtering
    Required:
    Default: (empty)
返回值
  • (array) Combined and filtered attribute list.
定义位置
  • wp-includes/shortcodes.php
    , line 583
引入
2.5.0
弃用

Combines user attributes with known attributes and fill in defaults when needed.

The pairs should be considered to be all of the attributes which are
supported by the caller and given as a list. The returned attributes will
only contain the attributes in the $pairs list.

If the $atts list has unsupported attributes, then they will be ignored and
removed from the final returned list.

function shortcode_atts( $pairs, $atts, $shortcode = '' ) {
	$atts = (array) $atts;
	$out  = array();
	foreach ( $pairs as $name => $default ) {
		if ( array_key_exists( $name, $atts ) ) {
			$out[ $name ] = $atts[ $name ];
		} else {
			$out[ $name ] = $default;
		}
	}

	if ( $shortcode ) {
		/**
		 * Filters shortcode attributes.
		 *
		 * If the third parameter of the shortcode_atts() function is present then this filter is available.
		 * The third parameter, $shortcode, is the name of the shortcode.
		 *
		 * @since 3.6.0
		 * @since 4.4.0 Added the `$shortcode` parameter.
		 *
		 * @param array  $out       The output array of shortcode attributes.
		 * @param array  $pairs     The supported attributes and their defaults.
		 * @param array  $atts      The user defined shortcode attributes.
		 * @param string $shortcode The shortcode name.
		 */
		$out = apply_filters( "shortcode_atts_{$shortcode}", $out, $pairs, $atts, $shortcode );
	}

	return $out;
}