Несколько shortcode (шорткодов) для wordpress.
Shortcodes API была впервые представлена в WordPress 2.5. Shortcodes (шоткоды) являются прекрасным решением при вставке кода на сайт став средством облегчения труда блоггера, вебмастера и других. Вкратце, шорткоды позволяют разработчику с легкостью вставить и использовать свой небольшой код на сайт WordPress не прибегая к кардинальным изменениям в структуре WordPress, и реализовать свой небольшой, но очень полезный функционал.
Как встроить свой shortcode (шорткод)?
В папке с Вашим WordPress находите файл functions.php и дописываете свой код.
Примерно вот так выглядит шаблон shortcode (шорткод):
1 2 | function my_shortcode () { код } |
строчку:
add_shortcode('myshortcodename','my_shortcode');
добавляем в наш wp-content/themes/НАША ТЕМА/functions.php
Теперь рассмотрим работает данная функция:
- Создаем свою функцию, которая выполняет все что нам надо.
- Функция add_shortcode() выполнит связку нашей функции с названием шорткода, который будем использовать в нашем блоге.
В нужном месте блога просто надо будет вписать [myshortcodename] и все.
Несколько полезных примеров shortcode (шорткодов)
Показываем похожие посты.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | function related_posts_shortcode( $atts ) { extract(shortcode_atts(array( 'limit' => '5', ), $atts)); global $wpdb, $post, $table_prefix; if ($post->ID) { $retval = '<ul>'; // Get tags $tags = wp_get_post_tags($post->ID); $tagsarray = array(); foreach ($tags as $tag) { $tagsarray[] = $tag->term_id; } $tagslist = implode(',', $tagsarray); // Do the query $q = "SELECT p.*, count(tr.object_id) as count FROM $wpdb->term_taxonomy AS tt, $wpdb->term_relationships AS tr, $wpdb->posts AS p WHERE tt.taxonomy ='post_tag' AND tt.term_taxonomy_id = tr.term_taxonomy_id AND tr.object_id = p.ID AND tt.term_id IN ($tagslist) AND p.ID != $post->ID AND p.post_status = 'publish' AND p.post_date_gmt < NOW() GROUP BY tr.object_id ORDER BY count DESC, p.post_date_gmt DESC LIMIT $limit;"; $related = $wpdb->get_results($q); if ( $related ) { foreach($related as $r) { $retval .= '<li><a title="'.wptexturize($r->post_title).'" href="'.get_permalink($r->ID).'">'.wptexturize($r->post_title).'</a></li>'; } } else { $retval .= ' <li>No related posts found</li>'; } $retval .= '</ul>'; return $retval; } return; } add_shortcode('related_posts', 'related_posts_shortcode'); |
В самом посте добавляем следующее:
[rеlated_pоsts]
Реклама Google AdSense
1 2 3 4 5 | function showads() { return ' "<"script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"">" '; } |
А в самом посте добавьте следующее:
[adsense]
Читаем еще:
- Wordpress — самая известная cms отмечает свое 10-летие
- Лучшие плагины WordPress моя подборка (часть 2)
- Лучшие плагины Wordpress моя подборка (часть 1)
- Еще несколько полезных плагинов для WordPress
- WordPress 3.4 «Green»