Автоматически добавляем контент в ваши записи, посты, странички

автоматически добавляем контент к записям страницам

Есть три отличных способа добавить контент внутри ваших записей/страниц:
- используем фильтр 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» — вывод контента только в записях, если вы хотите выводить контент как в записях, так и на страницах — то его нужно убрать.

Вот что получиться:

addcontent1

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' );

Теперь, если вы зайдете в админке, в пункт «Внешний вид», подпункт «Виджеты» — вы увидите наш новый сайдбар:

addcontent2

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» и радуемся его отображению на сайте.

Введите свой email адрес для того, чтобы подписаться на мой блог:


knopkisoc

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>