WordPress шорткоды
10 практичных WordPress шорткодов
Шорткоды – пользовательские функции, которые сохраняют время при написании поста в WordPress. Сегодня я хочу представить Вам 10 самых используемых WordPress шорткодов.
Показать скриншот любого сайта
Вы хотите сделать скриншот какого-либо сайта и показать его у себя на сайте? Этот классный wordpress код поможет Вам в этом. Скопируйте этот код в файл functions.php:
01 02 03 04 05 06 07 08 09 10 11 12 | function wpr_snap( $atts , $content = null) { extract(shortcode_atts( array ( "snap" => 'http://s.wordpress.com/mshots/v1/' , "url" => 'http: //www.google.ru/’, "alt" => 'Google' , "w" => '400' , "h" => '300' ), $atts )); $img = '<img src="http://' . $snap . '' . urlencode($url) . '?w=' . $w . '&h=' . $h . '" alt="&#39; . $alt . &#39;"/>' ; return $img ; } add_shortcode( "snap" , "wpr_snap" ); |
На этом всё. Теперь чтобы посмотреть скриншот Yandex, добавьте пост со следующим содержанием:
[snap url="http://www.yandex.ru/" alt="Yandex" w="400" h="300"]
Добавить ссылку для пожертвований Paypal
Многие блоггеры размещают подобную ссылку на своем блоге и просят читателей помочь им материально. Если все же PayPal включит для России приём денег, можно добавить этот шортик к себе в functions.php:
01 02 03 04 05 06 07 08 09 10 11 | function cwc_donate_shortcode( $atts ) { extract(shortcode_atts( array ( 'text' => 'Есть мелочь?' , 'account' => 'REPLACE ME' , 'for' => 'Habr' , ), $atts )); global $post ; if (! $for ) $for = str_replace ( " " , "+" , $post ->post_title); return '<a href="https://www.paypal.com/cgi-bin/webscr?cmd=cxlick&amp;business='.$account.'&amp;item_name=Donation+for+'.$for.'">' . $text . '</a>' ; } add_shortcode( 'donate' , 'cwc_donate_shortcode' ); |
И в нужном месте
[donate]
Приведение email-адреса к кликабельному виду
Любой блог на WordPress конечно же связан со спамом. Если Вы показываете на своём сайте email-адреса пользователей или же свою любимую почту, то можете немного усложнить жизнь спамерам в сборе почты. Просто добавить этот код в functions.php:
1 2 3 4 5 | function cwc_mail_shortcode( $atts , $content =null ) { for ( $i = 0; $i < strlen ( $content ); $i ++) $encodedmail .= "&#" . ord( $content [ $i ]) . ';' ; return '<a href="mailto:'.$encodedmail.'">' . $encodedmail . '</a>' ; } add_shortcode( 'mailto' , 'cwc_mail_shortcode' ); |
И можете не беспокоиться о своём мыле в базах африканских миллиардеров, которые завещали Вам все, что у них есть. Просто оберните мыло в теги
[mailto]email@yourdomain.ru[/mailto]
Создание приватного контента
Всегда хочется, чтобы не копипастили контент с сайта. Можно сделать показ определенного контента только зарегистрированным. Добавляем это в functions.php:
1 2 3 4 5 6 | function cwc_member_check_shortcode( $atts , $content = null ) { if ( is_user_logged_in() && ! is_null ( $content ) && !is_feed() ) return $content ; return '' ; } add_shortcode( 'member' , 'cwc_member_check_shortcode' ); |
И оборачиваем контент в теги
[member]Этот текст доступен для просмотра только зарегистрированным пользователям.[/member]
Показ PDF в фрейме
Есть хороший способ, чтобы показать содержание pdf-файла на сайте. На помощь приходит Google docs. Добавляем новую функцию в functions.php:
1 2 3 4 | function cwc_viewpdf( $attr , $url ) { return '' ; } add_shortcode( 'embedpdf' , 'cwc_viewpdf' ); |
И в контенте для вставки pdf используем данный тег:
[embedpdf width="600px" height="500px"]http://infolab.stanford.edu/pub/papers/google.pdf[/embedpdf]
“Feed only” контент
Данный шортик позволяет показывать определённый контент только RSS-подписчикам. И опять же добавляем функцию в functions.php:
1 2 3 4 5 | function cwc_feedonly_shortcode( $atts , $content = null) { if (!is_feed()) return "" ; return $content ; } add_shortcode( 'feedonly' , 'cwc_feedonly_shortcode' ); |
И оборачиваем контент, хоторый хотим показать подписчикам в теги
[feedonly]Дорогие подписчики, да храни Вас бог.[/feedonly]
Ссылка “Retweet”
Многие знают, что твиттер – это генератор трафика для блога. А ретвиты еще больше увеличивают трафик на сайт.
1 2 3 4 | function tweetmeme(){ return '' ; } add_shortcode( 'retweet' , 'tweetmeme' ); |
И в нужном месте
[retweet]
Показ прикрепленных изображений к посту
Данный шорт может показывать последнее изображение, прикрепленное к посту. Добавим этот шортик в functions.php:
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 | function cwc_postimage( $atts , $content = null) { extract(shortcode_atts( array ( "size" => 'thumbnail' , "float" => 'none' ), $atts )); $images =& get_children( 'post_type=attachment&post_mime_type=image&post_parent=' . get_the_id() ); foreach ( $images as $imageID => $imagePost ) { $fullimage = wp_get_attachment_image( $imageID , $size , false); $imagedata = wp_get_attachment_image_src( $imageID , $size , false); $width = ( $imagedata [1]+2); $height = ( $imagedata [2]+2); return '' . $fullimage . '' ; } } add_shortcode( "postimage" , "cwc_postimage" ); |
И в посте добавим тег
[postimage]
Видео с Youtube
Если Вы хотите запостить видео с Youtube на своём блоге, то добавим функцию в functions.php:
01 02 03 04 05 06 07 08 09 10 | function cwc_youtube( $atts ) { extract(shortcode_atts( array ( "value" => '' , "width" => '475' , "height" => '350' , "name" => 'movie' , "allowFullScreen" => 'true' , "allowScriptAccess" => 'always' , ), $atts )); return ' |
И в посте можно использовать тег
[youtube value="http://www.youtube.com/watch?v=1aBSPn2P9bg"]
Показ RSS ленты
И на последок, можно показать произольную RSS-ленту в посте с помощью функции
1 2 3 4 5 6 7 8 9 | include_once (ABSPATH.WPINC. '/rss.php' ); function cwc_readRss( $atts ) { extract(shortcode_atts( array ( "feed" => '' , "num" => '1' , ), $atts )); return wp_rss( $feed , $num ); } add_shortcode( 'rss' , 'cwc_readRss' ); |
и тега
[rss feed="http://feeds.feedburner.com/catswhocode" num="5"]