WordPress.org

Ready to get started?Download WordPress

Codex

Function Reference/shortcode atts

Contents

Description

Combines user shortcode attributes with known attributes and fills in defaults when needed. The result will contain every key from the known attributes, merged with values from shortcode attributes.

Usage

<?php shortcode_atts$pairs $atts$shortcode ); ?>

Parameters

$pairs
(array) (required) Entire list of supported attributes and their defaults
Default: None
$atts
(array) (required) User defined attributes in shortcode tag
Default: None
$shortcode
(string) (optional) Shortcode name to be used by the shortcode_atts_{$shortcode} filter. Even if this parameter is optional, do not(!) avoid it. Else it will be impossible for plugins to target this shortcode for pre-processing.
Default: None

Return Values

(array) 
Combined and filtered attribute list.

Examples

function bartag_func( $atts ) {
	extract( shortcode_atts( array(
		'foo' => 'no foo',
		'bar' => 'default bar',
	), $atts, 'bartag' ) );

	return 'bartag: ' . $foo . ' ' . $bar;
}
add_shortcode( 'bartag', 'bartag_func' );

[bartag foo="koala" bar="bears"] outputs the following:
bartag: koala bears

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. Note that using extract method here turns each key in the merged array into its own variable such as $foo and $bar for easy access. The $atts or the default array will not be modified after the call to shortcode_atts.

Notes

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.

Change Log

Source File

shortcode_atts() is located in wp-includes/shortcodes.php.

Related

wp_parse_args()

Shortcode API

See also index of Function Reference and index of Template Tags.