Есть три отличных способа добавить контент внутри ваших записей/страниц:
– используем фильтр wordpress;
– используем созданный нами шорткод;
– используем созданный нами виджет.
Скачать исходники для статьи можно ниже
А как это сделать читайте ниже.
1. Используем фильтр wordpress.
Фильтры (filters) предназначены для «фильтрования» (изменения) любых данных перед тем как они будут выведены на странице или добавлены для хранения в базу данных.
В файл – functions.php вашей темы пропишем следующий код:
(чтобы открыть файл functions.php – войдите в админку wordpress, в левом меню выберите пункт “Внешний вид”, подпункт “Редактор”, справа в списке шаблонов выбираете файл – functions.php.)
add_filter ('the_content', 'insertmycontent'); function insertmycontent($content) { if(is_single()) { $content.= '<div style="border:1px dotted #000; text-align:center; padding:10px;">'; $content.= '<h4>Понравилась статья?</h4>'; $content.= '<p><a href="http://feedburner.google.com/fb/a/mailverify?uri=Mnogoblog">Подпишись на мой блог!</a></p>'; $content.= '</div>'; } return $content; }
Здесь используется условие – “if(is_single” – вывод контента только в записях, если вы хотите выводить контент как в записях, так и на страницах – то его нужно убрать.
Вот что получиться:
2. Используем созданный нами шорткод.
Также как и в пункт 1 – необходимо открыть файл – functions.php и вставить в него следующий код:
add_shortcode('subscribe', 'subscribeNewsLetter'); function subscribeNewsLetter() { return ' <div style="border:1px dotted #000; text-align:center; padding:10px;"> <h4>Понравилась статья?</h4> <p><a href="http://feedburner.google.com/fb/a/mailverify?uri=Mnogoblog">Подпишись на мой блог!</a></p> </div>'; }
Возможно вам понадобиться использовать шорткод в виджетах – для этого вам нужно прописать в файле functions.php ещё одну строчку:
add_filter('widget_text', 'do_shortcode');
3. Используем созданный нами виджет.
3.1. Регистрируем новый виджет в файле functions.php:
register_sidebar( array( 'name' => 'Bottom of Post', 'description' => 'Мой новый виджет в начале записи', 'before_widget' => '<div id="bottom_post">', 'after_widget' => '</div>', 'before_title' => '<h4 class="widget-title">', 'after_title' => '</h4>' ) );
Например, для бесплатной стандартной wordpress темы – Twenty Twelve – код регистрации нового сайдбара будет выглядеть так:
function mytheme_widgets_init() { register_sidebar( array( 'name' => 'Bottom of Post', 'description' => 'Мой новый виджет в начале записи', 'before_widget' => '<div id="bottom_post">', 'after_widget' => '</div>', 'before_title' => '<h4 class="widget-title">', 'after_title' => '</h4>', ) ); } add_action( 'widgets_init', 'mytheme_widgets_init' );
Теперь, если вы зайдете в админке, в пункт “Внешний вид”, подпункт “Виджеты” – вы увидите наш новый сайдбар:
3.2. Выводим виджет на сайте.
Например, чтобы вывести виджет в конце записи темы – Twenty Twelve – заходим в файл – single.php (админка – пункт “Внешний вид” – подпункт “Редактор” – справа в списке шаблонов выбираем файл single.php), сразу перед формой комментариев, нужно найти строчку:
<?php comments_template( '', true ); ?>
и перед ней вставить следующий код:
<?php if ( function_exists(dynamic_sidebar('Bottom of Post')) ) : dynamic_sidebar('Bottom of Post'); endif; ?>
Теперь в админке, в пункте “Внешний вид”, подпункт “Виджеты” – перетаскиваем нужный виджет в сайдбар с названием “Bottom of Post” и радуемся его отображению на сайте.