shortcode_atts( array $pairs, array $atts, string $shortcode = '' )
Combine user attributes with known attributes and fill in defaults when needed.
Description 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 Parameters
- $pairs
-
(array) (Required) Entire list of supported attributes and their defaults.
- $atts
-
(array) (Required) User defined attributes in shortcode tag.
- $shortcode
-
(string) (Optional) The name of the shortcode, provided for context to enable filtering
Default value: ''
Return Return
(array) Combined and filtered attribute list.
Source Source
File: wp-includes/shortcodes.php
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; } } /** * Filters a shortcode's default 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. */ if ( $shortcode ) { $out = apply_filters( "shortcode_atts_{$shortcode}", $out, $pairs, $atts, $shortcode ); } return $out; }
Expand full source code Collapse full source code View on Trac
Changelog Changelog
Version | Description |
---|---|
2.5.0 | Introduced. |
User Contributed Notes User Contributed Notes
You must log in before being able to contribute a note or feedback.
Example
Expand full source codeCollapse full source code
[bartag foo=”koala” bar=”bears”] outputs the following:
bartag: koala bears
[bartag foo=”koala”] outputs the following:
bartag: koala default bar
This creates a “
[bartag]
” shortcode that supports two attributes:[bartag foo="something" bar="something else"]
. Both attributes are optional and will take on default options if they are not provided.I had to hunt around to find all the pieces, I hope others find this helpful.
So, building on a previous example:
Expand full source codeCollapse full source code