Web Developer

function: shortcode_atts

Syntax

shortcode_atts(array $pair, array $atts, string $shortcode = ”)

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.

Parameter

  • $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: ”

Retrun

(array) Combined and filtered attribute list.

Code

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;
}

Leave a Reply

Your email address will not be published. Required fields are marked *.

*
*
You may use these <abbr title="HyperText Markup Language">HTML</abbr> tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>