shortcode_atts() – Function | Developer.WordPress.org
Combines user attributes with known attributes and fill in defaults when needed.
Description
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.
Parameters
$pairsarrayrequiredEntire list of supported attributes and their defaults.
$attsarrayrequiredUser defined attributes in shortcode tag.
$shortcodestringoptionalThe name of the shortcode, provided for context to enable filtering
Return
array Combined and filtered attribute list.Source
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;
}
Hooks
- apply_filters( “shortcode_atts_{$shortcode}”,
array $out ,array $pairs ,array $atts ,string $shortcode ) Filters shortcode attributes.
Changelog
| Version | Description |
|---|---|
| 2.5.0 | Introduced. |