do_shortcode_tag()
Regular Expression callable for do_shortcode() for calling shortcode hook.
Внутренняя функция — эта функция рассчитана на использование самим ядром. Не рекомендуется использовать эту функцию в своем коде.
Хуки из функции
Возвращает
Строку
. Shortcode output.
Использование
do_shortcode_tag( $m );
- $m(массив) (обязательный)
Regular expression match array.
-
0(строка)
Entire matched shortcode text. -
1(строка)
Optional second opening bracket for escaping shortcodes. -
2(строка)
Shortcode name. -
3(строка)
Shortcode arguments list. -
4(строка)
Optional self closing slash. -
5(строка)
Content of a shortcode when it wraps some content. - 6(строка)
Optional second closing bracket for escaping shortcodes.
-
Заметки
- Смотрите: get_shortcode_regex() for details of the match array contents.
- Global. Массив. $shortcode_tags
Список изменений
С версии 2.5.0 | Введена. |
Код do_shortcode_tag() do shortcode tag WP 6.5.2
function do_shortcode_tag( $m ) { global $shortcode_tags; // Allow [[foo]] syntax for escaping a tag. if ( '[' === $m[1] && ']' === $m[6] ) { return substr( $m[0], 1, -1 ); } $tag = $m[2]; $attr = shortcode_parse_atts( $m[3] ); if ( ! is_callable( $shortcode_tags[ $tag ] ) ) { _doing_it_wrong( __FUNCTION__, /* translators: %s: Shortcode tag. */ sprintf( __( 'Attempting to parse a shortcode without a valid callback: %s' ), $tag ), '4.3.0' ); return $m[0]; } /** * Filters whether to call a shortcode callback. * * Returning a non-false value from filter will short-circuit the * shortcode generation process, returning that value instead. * * @since 4.7.0 * * @param false|string $output Short-circuit return value. Either false or the value to replace the shortcode with. * @param string $tag Shortcode name. * @param array|string $attr Shortcode attributes array or the original arguments string if it cannot be parsed. * @param array $m Regular expression match array. */ $return = apply_filters( 'pre_do_shortcode_tag', false, $tag, $attr, $m ); if ( false !== $return ) { return $return; } $content = isset( $m[5] ) ? $m[5] : null; $output = $m[1] . call_user_func( $shortcode_tags[ $tag ], $attr, $content, $tag ) . $m[6]; /** * Filters the output created by a shortcode callback. * * @since 4.7.0 * * @param string $output Shortcode output. * @param string $tag Shortcode name. * @param array|string $attr Shortcode attributes array or the original arguments string if it cannot be parsed. * @param array $m Regular expression match array. */ return apply_filters( 'do_shortcode_tag', $output, $tag, $attr, $m ); }