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

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

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

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