Шорткод — это универсальная пользовательская функция, которую можно вызвать непосредственно в записи блога по заданному имени. При помощи шорткодов разработчики плагинов могут создавать специальные виды контента (формы, таблицы, генераторы контента и др.), которые в последствии пользователи смогут добавлять в определённых постах, страницах сайта просто вставив соответствующий короткий код в нужное место на странице.
Для создания новых шорткодов нужно отредактировать файл functions.php вашей темы wordpress и добавить соответствующие функции, которые будут описывать их функционал.
Примеры шорткодов:
1) Шорткод для вставки рекламного блока (Google Adsense, Яндекс.Директ и др.) внутри поста.
1 2 3 4 5 6 | <?php function google_ads() { return 'код адсенсе'; } add_shortcode('googleadsense', 'google_ads'); ?> |
В том месте статьи, где Вы захотите вывести рекламный блок, нужно вставить шорткод:
1 | [googleadsense] |
2) С помощью этого шорткода можно сделать скриншот любого сайта и отобразить у себя на блоге.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <?php function wpr_snapshot( $atts, $content = null ) { extract(shortcode_atts(array( 'snapshot' => 'http://s.wordpress.com/mshots/v1/', 'url' => 'http://seogrot.com/', 'alt' => 'Блог SeoGrot', 'w' => '300', 'h' => '300' ), $atts)); $img = '<img src="' . $snapshot . '' . urlencode($url) . '?w=' . $w . '&h=' . $h . '" alt="' . $alt . '"/>'; return $img; } add_shortcode('snapshot', 'wpr_snapshot'); ?> |
Если вставить шорткод без параметров, то отобразится скриншот сайта заданного по умолчанию:
1 | [snapshot] |
Чтобы добавить скриншот другого сайта, нужно изменить входные параметры:
1 | [snapshot url="http://test.ru/" alt="Test website" w="300" h="300"] |
3) Шорткод для отображения приватного контента на сайте.
1 2 3 4 5 6 7 8 | <?php function private_content( $atts, $content = null ) { if ( is_user_logged_in() && !is_null( $content ) && !is_feed() ) return $content; return ''; } add_shortcode( 'member', 'private_content' ); ?> |
Текст, который будет доступен для чтения только залогиненым юзерам, нужно обернуть в теги:
1 | [member]Скрытый текст[/member] |
4) С помощью этого шорткода можно выделить определенный текст в статье, применив к нему заданные стили css.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <?php function style_block_text($attr,$content= null){ return'<style type="text/css"> .red_block{ font-size: 14px; text-align: justify; text-indent: 15px; margin: 3px; background-color: #fafad2; border: 4px double #a52a2a; padding: 4px; width: 100%; } </style> <div class="red_block">'.$content.'</div>'; } add_shortcode('st', 'style_block_text'); ?> |
Текст, который нужно выделить, заключаем в теги:
1 | [st]Текст c применением стилей[/st] |
Следующий код добавит новую кнопку на панель редактирования wordpress:
1 2 3 4 5 6 7 8 9 10 11 | <?php if( !function_exists('_add_my_quicktags') ){ function _add_my_quicktags() { ?> <script type="text/javascript"> QTags.addButton( 'st', 'Style Text', '[st]', '[/st]' ); </script> <?php } add_action('admin_print_footer_scripts', '_add_my_quicktags'); } ?> |
Теперь, если появится необходимость выделить какой-то кусок текста, не нужно прописывать теги вручную, достаточно выделить текст и нажать на новую кнопку Style Text, которая появится на панели редактирования.
5) Шорткод с помощью которого можно добавить в пост список ссылок на похожие записи:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | function similar_posts($atts, $content = null) { extract(shortcode_atts(array( "num" => '5', "cat" => '' ), $atts)); global $post; $myposts = get_posts('numberposts='.$num.'&order=DESC&orderby=rand&category='.$cat); $retour='<ul style="list-style-type:none; padding:0px; margin:0px;">'; foreach($myposts as $post) : setup_postdata($post); $retour.='<li><a href="'.get_permalink().'">'.the_title("","",false).'</a></li>'; endforeach; $retour.='</ul> '; return $retour; } add_shortcode("list_of_posts", "similar_posts"); |
В шорткод можно передать значение количества выводимых записей и категорию из которой будут выбираться публикации в рандомном порядке.
Чтобы вывести 3 записи из категории с id=»1″ нужно добавить в пост следующий шорткод:
1 | [list_of_posts num="3" cat="1"] |
На сегодня всё, а Вы используете шорткоды в своих блогах на WordPress?
Добавить комментарий