Поиск…


Синтаксис

  • 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 превращал разрывы строк в теги абзацев, поскольку это препятствует работе коротких кодов. Вторая строка - это то, что делает работу коротких кодов.



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow