10 супер полезных шоткодов для WordPress
шоткоды (англ. shortcodes - короткий код, код для быстрой вставки) помогают экономить время любому девелоперу. Они позволяют добиться быстрого решения задачи, нужно лишь вставить нужный шоткод в свой код. Сегодня я рад тебе представить 10 очень полезных шоткодов для WordPress. Всё будет кратко. Только код и небольшое описание.
Делаем скриншот любого сайта.
Как сделать скриншот стороннего ресурса и отобразить его в своем блоге? Очень просто. Вставь следующий код в файл functions.php :
function wpr_snap($atts, $content = null) { extract(shortcode_atts(array( "snap" => 'http://s.wordpress.com/mshots/v1/', "url" => 'http://www.vr-online.ru', "alt" => 'My image', "w" => '400', // width "h" => '300' // height ), $atts)); $img = '<img src="' . $snap . '' . urlencode($url) . '?w=' . $w . '&h=' . $h . '" alt="' . $alt . '"/>'; return $img; } add_shortcode("snap", "wpr_snap");
Добавив его всего один раз, ты сможешь делать скрины таким образом:
[snap url="http://www.vr-online.ru" alt="My description" w="400" h="300"]
Результатом выполнения кода станет скриншот VR-online на страничке твоего блога.
Добавляем ссылку на donate через Paypal
Теперь о том, как разместить кнопку “donate”. Добавляй код в functions.php :
function cwc_donate_shortcode( $atts ) { extract(shortcode_atts(array( 'text' => 'Make a donation', 'account' => 'REPLACE ME', 'for' => '', ), $atts)); global $post; if (!$for) $for = str_replace(" ","+",$post->post_title); return '<a class="donateLink" href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business='.$account.'&item_name=Donation+for+'.$for.'">'.$text.'</a>'; } add_shortcode('donate', 'cwc_donate_shortcode');
Остается лишь присвоить 'account' свой paypal мыльник. Вызывать так:
[donate]
Обфускация E-mail адреса
Этот код поможет тебе скрыть свой мыльник (если ты его указал на сайте) от поисковых ботов-негодяев. Как обычно вставляй в functions.php код:
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.com[/mailto]
Создание приватного контента.
Если ты хочешь добавить в материал контент, который будет виден только зарегистрированным юзерам, то копипасть в functions.php этот код:
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 документ
Тут такой способ: загрузка документа происходит через Google docs, а затем отображается в iframe. Добавляй в functions.php:
function cwc_viewpdf($attr, $url) { return '<iframe src="http://docs.google.com/viewer?url=' . $url . '&embedded=true" style="width:' .$attr['width']. '; height:' .$attr['height']. ';" frameborder="0">Your browser should support iFrame to view this PDF document</iframe>'; } add_shortcode('embedpdf', 'cwc_viewpdf');
Вызывать так:
[embedpdf width="600px" height="500px"]<a href="http://infolab.stanford.edu/pub/papers/google.pdf">http://infolab.stanford.edu/pub/papers/google.pdf</a>[/embedpdf]
Создание контента для отображения только в RSS
Если есть необходимость создать контент, который будет видет только читателям RSS канала, то копируй этот код в functions.php:
function cwc_feedonly_shortcode( $atts, $content = null) { if (!is_feed()) return ""; return $content; } add_shortcode('feedonly', 'cwc_feedonly_shortcode');
Применение:
[feedonly]Дорогой читатель, за более подробной информации заходи ко мне на сайт.[/feedonly]
Добавляем пимпу “Retweet” для материала
Очень полезная фича, т.к. твиттер пользуется сейчас очень большой популярностью. Вот код:
function tweetmeme(){ return '<div class="tweetmeme"><script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script></div>'; } add_shortcode('tweet', 'tweetmeme');
Как юзать:
[tweet]
Отображение последнего изображения из аттача к посту.
Не особо полезный функционал, ИМХО. Но пусть будет. Точно так же как и в прошлые разы добавляем весь код в в functions.php.
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 '<div class="postimage" style="width: '.$width.'px; height: '.$height.'px; float: '.$float.';">'.$fullimage.'</div>'; } add_shortcode("postimage", "cwc_postimage");
Вызывать так:
[postimage]
Отображение видео с Youtube
Код:
function cwc_youtube($atts) { extract(shortcode_atts(array( "value" => 'http://', "width" => '475', "height" => '350', "name"=> 'movie', "allowFullScreen" => 'true', "allowScriptAccess"=>'always', ), $atts)); return '<object style="height: '.$height.'px; width: '.$width.'px"><param name="'.$name.'" value="'.$value.'"><param name="allowFullScreen" value="'.$allowFullScreen.'"></param><param name="allowScriptAccess" value="'.$allowScriptAccess.'"></param><embed src="'.$value.'" type="application/x-shockwave-flash" allowfullscreen="'.$allowFullScreen.'" allowScriptAccess="'.$allowScriptAccess.'" width="'.$width.'" height="'.$height.'"></embed></object>'; } add_shortcode("youtube", "cwc_youtube");
Вызывать:
[youtube value="http://www.youtube.com/watch?v=1aBSPn2P9bg"]
Вставка RSS ленты в пост.
Этот код позволит тебе вставить в свой пост любую RSS ленту:
include_once(ABSPATH.WPINC.'/rss.php'); function cwc_readRss($atts) { extract(shortcode_atts(array( "feed" => 'http://', "num" => '1', ), $atts)); return wp_rss($feed, $num); } add_shortcode('rss', 'cwc_readRss');
Способ использования:
[rss feed="http://feeds.feedburner.com/catswhocode" num="5"]
Всем спасибо за внимание. С вами был Lord_of_fear =)
Оригинал: http://www.catswhocode.com/blog/10-super-useful-wordpress-shortcodes
- Lord_of_fear's блог
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
- 1553 просмотра



Комментарии
6 комментария(ев)Дата: СР, 05/10/2011 - 19:47
Это реально называется шоткат? Даже с недостающей р я бы подумал, что это shortcut, а не code.
(но я к сожалению не особо ориентируюсь в русских специфический терминах)
Дата: ЧТ, 06/10/2011 - 01:13
Интересненько. Актуальненько. Полезненько. Гуглоплюсик
Дата: ЧТ, 06/10/2011 - 07:35
2XHelp
Мне больше нравится как звучит "шоткат". А чтобы не ввести читателя в заблуждение, я в скобочках написал оригинальный вариант слова
На самом деле существуют понятия как и шоткат, так и шоткод. Оба, насколько я понимаю, означают одно и то же. То ли сказывается неграмотность населения в отношении иностранных языков, то ли желание перековеркать любое иностранное слово.
Upd: Разобрался. Я ошибался. Это - именно шоткоды. Вольные переводы других переводчиков ввели меня в заблуждение. =) Шоткат - это сочетание нажатия кнопок.
Дата: ЧТ, 06/10/2011 - 08:02
Ну, не знаю, лично я и с шоткодами не согласен
шоткод - гугл: 1080, яндекс: 989 страниц
шорткод - гугл: 14300, яндекс: 11000 страниц
Дата: ЧТ, 06/10/2011 - 12:40
А вот это - неграмотность населения в отношении иностранных языков. Буква "r" в слове "short" не произносится.
Дата: ЧТ, 06/10/2011 - 16:30
]]>http://dictionary.cambridge.org/dictionary/british/short_1?q=short]]> Смотря с какой стороны посмотреть.
Ну да ладно, шоты, так шоты, просто удавился первоночальному написанию.