WordPress
Shortcode с атрибутом
Поиск…
Синтаксис
- add_shortcode ('your_short_code', 'your_function_name');
параметры
параметры | Распределение и использование |
---|---|
$ тег | (строка) (обязательно) Тег короткого кода, подлежащий поиску в сообщении. По умолчанию: Нет |
$ FUNC | (вызываемый) (обязательно) Крюк для запуска при обнаружении короткого кода По умолчанию: Нет |
замечания
ВАЖНО. Не используйте camelCase или UPPER-CASE для ваших атрибутов.
Вы можете создать короткий код с атрибутом Here
Примеры коротких кодов
Штрих-коды WordPress были введены в 2.5
Вот пример короткого кода
[button]
для использования do_shortcode()
непосредственно в теме вам нужно использовать do_shortcode()
<?php echo do_shortcode('[button]'); ?>
Чтобы настроить кнопку, мы могли бы просто добавить что-то вроде:
[button type="twitter"]
Или, чтобы сделать это еще лучше, мы могли бы использовать прилагаемый короткий код:
[button type="twitter"]Follow me on Twitter![/button]
Создание самозакрывающегося короткого кода
Самый простой короткий код - самозакрывающийся. Мы собираемся создать простую ссылку на нашу учетную запись Twitter, а затем добавить ее в сообщение в блоге. Весь код идет в functions.php
, который находится в /wp-content/themes/your-theme/
. Если у вас его нет, просто создайте его и вставьте в него код.
<?php
function button_shortcode() {
return '<a href="http://twitter.com/rupomkhondaker" class="twitter-button">Follow me on Twitter!</a>"';
}
add_shortcode('button', 'button_shortcode');
?>
Использование: [button]
Создание самозакрывающегося короткого кода с параметрами
Создание самозакрывающегося короткого кода с параметрами
<?php
function button_shortcode( $type ) {
extract( shortcode_atts(
array(
'type' => 'value'
), $type ) );
// check what type user entered
switch ($type) {
case 'twitter':
return '<a href="http://twitter.com/rupomkhondaker" class="twitter-button">Follw me on Twitter!</a>';
break;
case 'rss':
return '<a href="http://example.com/rss" class="rss-button">Subscribe to the feed!</a>'
break;
}
}
add_shortcode( 'button', 'button_shortcode' );
?>
Теперь вы можете выбрать, какую кнопку отображать, указав тип в своем коротком коде.
[button type="twitter"]
[button type="rss"]
Создание закрытого короткого кода
заключенный короткий код
Входящий короткий код позволяет встраивать контент в ваш короткий код, как и BBCode, если вы когда-либо использовали это.
<?php
function button_shortcode( $attr, $content = null ) {
return '<a href="http://twitter.com/filipstefansson" class="twitter-button">' . $content . '</a>';
}
add_shortcode('button', 'button_shortcode');
?>
Чтобы использовать этот короткий код, вы вставляете текст, который хотите использовать следующим образом:
[button]Follow me on Twitter![/button]
Чтобы сделать эту кнопку еще лучше, мы могли добавлять параметры так же, как в предыдущем примере.
<?php
function button_shortcode( $atts, $content = null ) {
extract( shortcode_atts( array(
'account' => 'account',
'style' => 'style'
), $atts ) );
return '<a href="http://twitter.com/' . esc_attr($account) . '" class="twitter-button ' . esc_attr($style) . '">' . $content . '</a>';
}
add_shortcode('button', 'button_shortcode');
?>
Использование:
[button account="rupomkhondaker" style="simple"]Follow me on Twitter![/button]
Штрих-коды в виджетах
По умолчанию WordPress не поддерживает короткие коды в виджетах боковой панели. Он расширяет только короткие коды в содержимом типа Post, Page или персонализированного сообщения. Чтобы добавить поддержку коротких кодов боковым виджетам, вы можете установить плагин или использовать следующий код:
add_filter( 'widget_text', 'shortcode_unautop' );
add_filter( 'widget_text', 'do_shortcode' );
Важно, чтобы эти строки были добавлены в этом порядке. Первая строка препятствует тому, чтобы WordPress превращал разрывы строк в теги абзацев, поскольку это препятствует работе коротких кодов. Вторая строка - это то, что делает работу коротких кодов.