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.
定義位置
相關方法
shortcode_parse_attsshortcode_existsshortcode_unautopget_shortcode_atts_regexdo_shortcode_tag
引入
2.5.0
棄用
-

shortcode_atts: 這是一個WordPress的函式,用於解析和合並一個短碼的屬性和預設屬性。它通常用於為短碼屬性設定預設值,並以使用者定義的值來覆蓋它們: 這個函式需要兩個引數:預設屬性和使用者定義的屬性。

將使用者屬性與已知屬性結合起來,並在需要時填寫預設值。

對應該被認為是呼叫者所支援的所有屬性,並以列表形式給出。返回的屬性將只包含 $pairs 列表中的屬性。

如果$atts列表中有不支援的屬性,那麼它們將被忽略並從最終返回的列表中刪除。

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

常見問題

FAQs
檢視更多 >