
functions.php
(тот, который находится в директории вашей текущей темы).
Имя шорткода должно быть обязательно в нижнем регистре и содержать только буквы латинского алфавита, цифры и символ подчеркивания.
Всё остальное так же просто. Для начала я создала код для разделителя, который я регулярно использую.
В functions.php
я добавил:1 2 3 4 5 6 | /* ШортКод Разделитель поста сайта */ function separator_post( $atts ) { $img = '<img class="alignnone" style="border: 0px; margin: 5px; float: center; opacity: 0.5;" src="http://www.phtimofeeff.ru/images/separator.png" alt="" width="100%" />'; return $img; } add_shortcode('separator', 'separator_post'); |
[separator]
Потом я решил упростить добавление ссылок на ЖЖ юзеров и ЖЖ сообщества, поскольку регулярно ссылаюсь на них и каждый раз вписывать длинный код весьма обломно. А по сему я добавил в functions.php
ещё два куска кода:1 2 3 4 5 6 7 8 9 | /* ШортКод ЖЖ Юзер */ function lj_user_code( $atts, $content = null ) { extract(shortcode_atts(array( 'name' => 'phtimofeeff', ), $atts)); $img = '<a href="http://' . $name . '.livejournal.com" style="background: url(http://l-stat.livejournal.net/img/userinfo.gif?v=17080?v=127); background-position: left top; background-size: 17px; background-repeat: no-repeat; padding-left: 20px;">' . $name . '</a>'; return $img; } add_shortcode( 'ljuser', 'lj_user_code' ); |
1 2 3 4 5 6 7 8 9 | /* ШортКод ЖЖ Сообщество */ function lj_user_code( $atts, $content = null ) { extract(shortcode_atts(array( 'name' => 'phtimofeeff', ), $atts)); $img = '<a href="http://' . $name . '.livejournal.com" style="background: url(http://l-stat.livejournal.net/img/userinfo.gif?v=17080?v=127); background-position: left top; background-size: 17px; background-repeat: no-repeat; padding-left: 20px;">' . $name . '</a>'; return $img; } add_shortcode( 'ljuser', 'lj_user_code' ); |
[ljuser]
, [ljuser name="ljpromo"]
[ljcomm]
, [ljcomm name="kotofoto"]
И тут меня попёрло... и на том же habrahabr.ru я нашёл статью о 10 удобных шорткодах для WordPress. Пока я внедрил лишь один из них. В качестве эксперимента. Но не буду о нём, кому интересно ищите на habrahabr.ru ;) Я же на его основе сделал удобный для меня шорткод для внедрения картинок с Яндекс.Фотки. Естественно заточил его под себя. Но сами понимаете, главное создать механизм, дальше всё легко трансформируется. Единственное, нужно вставлять несколько усечённые ссылки. Но Учитывая что у меня на компьютере создана спец табличка которая махом конвертит список ссылок на картинки в нужный мне код, я лего добавлю в нее нужный столбец что бы всё делалось быстро и удобно. Но для этого для начала нужно в functions.php
добавить еще один небольшой кусок кода:1 2 3 4 5 6 7 8 9 10 11 12 | /* ШортКод Яндекс.Фоток */ function ya_fotki_code( $atts, $content = null ) { extract(shortcode_atts(array( 'url' => 'http://www.phtimofeeff.ru/', 'alt' => 'Фотография', 'title' => 'Фотография', 'number' => '&#128270;' ), $atts)); $img = '<p><a style="background: url(' . $url . '_M.jpg); width: 120px; height: 120px; background-position: center; background-size: cover; float: left; margin: 5px; title="' . $title . 'href="' . $url . '_orig.jpg" >' . $number . '</a></p>'; return $img; } add_shortcode( 'yafotki', 'ya_fotki_code' ); |
[yafotki alt="alt" title="title" url="https://img-fotki.yandex.ru/get/9107/98001080.9d/0_c9d32_ad8d404f"]
Вот собственно и все переделки. Ну по крайней мере на сегодня. Естественно, теперь встаёт вопрос как быстро заменить во всём блоге нужные вещи на шорткоды. Ручками это как-то обломно делать, поскольку в некоторых постах по 100-150 картинок... И постов так же не полторы копейки.