Скрываем часть контента WordPress при помощи шорткода
Разрабатывая сайт, одной из основных задач, стоящих перед разработчиками, является привлечение новых пользователей с целью предлагать им новые интересные уроки, статьи или сервисы.
Сегодня я расскажу один из популярных способов привлечения новых посетителей для регистрации. Иногда добавляя новую статью на сайт можно просто скрыть ссылку или часть контента. При этом выводя сообщение с просьбой зарегистрироваться. Для начала вставим следующий код в function.php
Пример кода:
1 2 3 4 5 6 7 8 9 |
add_shortcode( 'access', 'access_check_shortcode' ); function access_check_shortcode( $attr, $content = null ) { extract( shortcode_atts( array( 'capability' => 'read' ), $attr ) ); if ( current_user_can( $capability ) && !is_null( $content ) && !is_feed() ){ return $content; }else{ return 'Часть статьи была скрыта. Для просмотра подалуйста <a href="#link">зарегистрируйтесь</a>.'; } } |
Для скрытия добавляем код в текст статьи:
1 2 3 |
[access capability="switch_themes"] А вот и сам скрытый текст. [/access] |
И использовать плагины нет необходимости. Все работает гибко и хорошо.
Тут я немножко пофантазировал и сделал по своему )
[access capability=»switch_themes»]
А вот и сам скрытый текст.[/access]
В фрагментах кодов легко менять отдельные части оформления и дополнять их. В плагинах это не всегда доступно, а иногда даже за отдельную плату. Именно этим и отличается работа с плагинами и фрагментами кода. Так что учитесь и разрабатывайте свои. Удачи всем в разработке!
Рассмотрим еще один код. Точнее сказать шорткод который скрывает часть страницы до определенной даты в WordPress.
Код может пригодиться если вы хотите скрыть часть текста на время, например для проведения акций. Также можно использовать для отсчета дней, до нового года:
1 2 3 4 5 6 7 8 9 |
function content_countdown($atts, $content = null){ extract(shortcode_atts(array( 'month' => '', 'day' => '', 'year' => '' ), $atts)); $remain = ceil((mktime( 0,0,0,(int)$month,(int)$day,(int)$year) - time())/86400); if( $remain > 1 ){ return $daysremain = " |
1 2 3 |
"; }else if($remain == 1 ){ return $daysremain = " |
1 2 3 4 5 6 |
"; }else{ return $content; } } add_shortcode('cdt', 'content_countdown'); |
Пример кода для скрытия части контента на сайте до определенной даты:
1 2 3 |
[cdt month="12" day="17" year="2012"] This is content that will only be shown after a set number of days. [/cdt] |
После вставки шорткода будет выведена строка:
Just (54) days until content is available

/*

- Базовый курс по веб-дизайну;
- Верстка сайтов;
- Общий курс по CMS WordPress и продолжение курса по разработке шаблонов;
- Разработка сайтов на PHP.