Вывод произвольного поле автоматически

Настроил вывод различный Сайбаров с помощью Произвольного поля(ПП), т.е. чтобы На главное, архивах выходил 1 сайдбар,а на Записях всех уже совсем другой.
Реализовал так:
Разные сайдбары для записей (постов)

(условимся, что сайдбары в папке Темы существуют, предназначены для вывода в одном месте лейаута блога и отличаются друг от друга содержимым, пример названий: sidebar.php, sidebar-var2.phpи sidebar-var3.php). 

Находим в файлах Темы вызов сайдбара:
view plaincopy to clipboardprint?

      

и заменяем его на:
view plaincopy to clipboardprint?

    ID, "sidebar", true);  
    get_sidebar($sidebar);  
    ?>  

Теперь в каждой записи создаете произвольное поле sidebar, а в значение пишете ему часть имени (после sidebar- ) того сайдбара, который хотите показывать при просмотре этой записи: var2или var3. Если у одиночной записи нет произвольного поля sidebar, то выведется сайдбар «по-умолчанию» sidebar.php

Далее, для того чтобы мне не писать в ручную каждый раз это все, сделал вывод в каждой записи автоматически:

add_action('publish_page', 'add_custom_field_automatically');
add_action('publish_post', 'add_custom_field_automatically');
function add_custom_field_automatically($post_ID) {
	global $wpdb;
	if(!wp_is_post_revision($post_ID)) {
		add_post_meta($post_ID, 'sidebar', 'var2', true);
	}
}

Данный метод работает, но почему-то не на всех записях, на каких-то все рабоате отлично на каких-то не мешятся Сайдбар. В Произ. поле задается параметр сам, все тут нормально, но почему-то не принимается как основной.

Кто может подсказать решение данной проблемы или может сказть как можно релизоват ВЫвод различный Сайдбаров более простым методом???

Оставьте первый комментарий

Оставить комментарий

Ваш электронный адрес не будет опубликован.


*