Intereting Posts
Сначала закажите по meta value pro, а затем мета значение в моей функции поиска контактная информация 7 коротких кодов базы данных category- {slug} .php работает только с перерывами? Условный оператор IF не возвращает true, даже если эхо правильной версии $ user-> Сделать wp_list_pages печатать пули вместо названий добавление нескольких боковых панелей на страницах Что делает WordPress приоритетом, когда дело доходит до php.ini, wp-config и .htaccess? Добавить всплывающее окно подтверждения на кнопку заказа места Как связать слово, состоящее из настраиваемого поля с другим? Категории list loop – добавить разделитель каждые 3 категории Сложный диапазон дат с WP_Query и МЕЖДУ Использовать блог в качестве базы для тегов и категорий Как остановить html-редактор от addig <p> тегов до коротких кодов, изображений и т. Д. Как добавить новую страницу плагина на странице желаемых параметров? Членство в Woocommerce синхронизировано по нескольким мультисайтам

Создание короткого кода с параметром

Я работаю с короткими кодами.

function bold_text_shortcode( $atts , $content = null ) { return '<b>' . $content . '</b>'; } add_shortcode( 'b', 'bold_text_shortcode' ); 

Я создал shortcode для жирного [b]content[b] .

Мне нужно создать как [color=red]content[/color] .

Вот пример короткого кода [color] . Если задан параметр, мы принимаем (но проверяем), что это цвет. $content затем заверяется в теги <span> а цвет применяется с использованием встроенных стилей.

Цвет может быть передан как именованный цвет или шестнадцатеричный цвет. Хекс-цвета в 3 или шесть цифр принимаются, а # является необязательным.

 /** * A shortcode that outputs the content in the color * specified. * * @param array $atts * @param string content * @return string */ add_shortcode( 'color', 'wpse_color' ); function wpse_color( $atts, $content = '' ) { // Bail if there is no content or color to work with. if ( ! $content || ! isset( $atts[0] ) ) { return false; } $color = $atts[0]; $valid_color = false; // Validate color: Allow named color or // 3 or 6 digit hex color with/without preceding #. // @link https://stackoverflow.com/a/23541977/3059883 preg_match('/(#?[a-f0-9]{3}([a-f0-9]{3})?)/i', $color, $color_matches ); if ( isset( $color_matches[1] ) ) { $valid_color = true; // Maybe add preceeding # if ( strncmp( $color, "#", 1 ) !== 0 ) { $color = '#' . $color; } } else { // Named color $named_colors = array( 'aliceblue', 'antiquewhite', 'aqua', 'aquamarine', 'azure', 'beige', 'bisque', 'black', 'blanchedalmond', 'blue', 'blueviolet', 'brown', 'burlywood', 'cadetblue', 'chartreuse', 'chocolate', 'coral', 'cornflowerblue', 'cornsilk', 'crimson', 'cyan', 'darkblue', 'darkcyan', 'darkgoldenrod', 'darkgray', 'darkgreen', 'darkkhaki', 'darkmagenta', 'darkolivegreen', 'darkorange', 'darkorchid', 'darkred', 'darksalmon', 'darkseagreen', 'darkslateblue', 'darkslategray', 'darkturquoise', 'darkviolet', 'deeppink', 'deepskyblue', 'dimgray', 'dodgerblue', 'firebrick', 'floralwhite', 'forestgreen', 'fuchsia', 'gainsboro', 'ghostwhite', 'gold', 'goldenrod', 'gray', 'green', 'greenyellow', 'honeydew', 'hotpink', 'indianred', 'indigo', 'ivory', 'khaki', 'lavender', 'lavenderblush', 'lawngreen', 'lemonchiffon', 'lightblue', 'lightcoral', 'lightcyan', 'lightgoldenrodyellow', 'lightgreen', 'lightgrey', 'lightpink', 'lightsalmon', 'lightseagreen', 'lightskyblue', 'lightslategray', 'lightsteelblue', 'lightyellow', 'lime', 'limegreen', 'linen', 'magenta', 'maroon', 'mediumaquamarine', 'mediumblue', 'mediumorchid', 'mediumpurple', 'mediumseagreen', 'mediumslateblue', 'mediumspringgreen', 'mediumturquoise', 'mediumvioletred', 'midnightblue', 'mintcream', 'mistyrose', 'moccasin', 'navajowhite', 'navy', 'oldlace', 'olive', 'olivedrab', 'orange', 'orangered', 'orchid', 'palegoldenrod', 'palegreen', 'paleturquoise', 'palevioletred', 'papayawhip', 'peachpuff', 'peru', 'pink', 'plum', 'powderblue', 'purple', 'rebeccapurple', 'red', 'rosybrown', 'royalblue', 'saddlebrown', 'salmon', 'sandybrown', 'seagreen', 'seashell', 'sienna', 'silver', 'skyblue', 'slateblue', 'slategray', 'snow', 'springgreen', 'steelblue', 'tan', 'teal', 'thistle', 'tomato', 'turquoise', 'violet', 'wheat', 'white', 'whitesmoke', 'yellow', 'yellowgreen' ); if ( in_array( strtolower( $color ), $named_colors ) ) { $valid_color = true; } } // If we have a valid color, colorize $content. if ( $valid_color ) { return '<span style="color:' . esc_attr( $color ) . '">' . $content . '</span>'; } } 

Пример использования:

Это [цвет красный] тест [/ color] цветного короткого кода с использованием именованного цвета.

Это [color # bada55] еще один тест [/ color] цветного кода с использованием шестизначного шестнадцатеричного цвета с предыдущим #.

Это [color 2200ff] еще один тест [/ color] цветного короткого кода с использованием шестизначного шестнадцатеричного цвета без предшествующего #.

Это [color # 808] еще один тест [/ color] цветного короткого кода с использованием шестизначного шестизначного цвета с предыдущим #.

Это [цвет 777] еще один тест [/ color] цветного короткого кода с использованием шестизначного шестизначного цвета без предшествующего #