Произвольные поля wordpress

16
Произвольные поля WordPress - Зачем они нужны? - Как их использовать? - Как упростить работу с ними для пользователей?

Upload: -

Post on 15-Jun-2015

2.722 views

Category:

Self Improvement


4 download

DESCRIPTION

Зачем они нужны? Как их использовать? Как упростить работу с ними для пользователей?

TRANSCRIPT

Page 1: Произвольные поля WordPress

Произвольные поля WordPress

- Зачем они нужны?- Как их использовать?- Как упростить работу с ними для пользователей?

Page 2: Произвольные поля WordPress

Чтотакоепроизвольныеполя

• Могут хранить любую информацию, связанную с записью, которая не укладывается в рамки стандарта.

• Позволяют использовать как текст и числа, так и картинки.• Значения могут меняться как самим пользователем, так и

автоматически, согласно задумке разработчика.• Значения произвольных полей могут быть использованы для

каких-либо вычислений в теме оформления.

Page 3: Произвольные поля WordPress

Какихможноиспользовать• Указать дополнительную информацию для записи:• Для книги: фамилия автора, год издания, издательство etc• Для фильма: режиссер, год выпуска, жанр etc• Для питомников: порода собаки, чемпионские титулы,

особенности особи• ЖЖ-стиль: настроение, музыка в колонках etc

• Указать картинку, которая должна выводиться где-нибудь на странице записи.

• Указать информацию, видимую только авторизованным пользователям.

• Использовать разное оформление для разных записей без привязки к категории/типу записи.

• Подсчитывать количество посещений страницы.• Выводить свои Google Maps для каждой записи.

Page 4: Произвольные поля WordPress

Простоеиспользование

• Указываем ключи и значения.• В нужном месте в шаблоне добавляем строчку

<?php the_meta(); ?>• Публикуем запись и видим список наших полей.

Page 5: Произвольные поля WordPress

Дажетакойпростой выводможнонастроить

повкусу• Выводимый список снабжен всеми необходимыми

классами для настройки внешнего вида через CSS:

<ul class='post-meta'><li><span class='post-meta-key'>Читаю:</span>

Раймонд Фэйст, "Королевский пират"</li><li><span class='post-meta-key'>Слушаю:</span>

Финрод-зонг</li><li><span class='post-meta-key'>Делаю:</span>

Очередной проект</li></ul>

Page 6: Произвольные поля WordPress

Еслинужновывести ?толькооднополе

Без проблем. В таком случае нужно использовать конструкцию:<?php echo get_post_meta($post->ID, "ключ_поля", true); ?>

Первый параметр – id записи, для которой запрашивается произвольное поле.Второй – собственно, ключ запрашиваемого поля.Третий параметр может принимать значения true или false. При значении true функция вернет результат как текстовую переменную. А значение false (или пустое!) вернет массив данных для дальнейшего использования в PHP.

Page 7: Произвольные поля WordPress

Текст толькодлязарегистрированных

<?php if ( is_user_logged_in() ) {echo 'Автор статьи: ';

echo (get_post_meta($post->ID, 'avtor', true));} else { echo 'здесь можете написать, что увидят незарегистрированные пользователи';} ?>

Подсказка: в поле может быть и ссылка на скачивание чего-либо ;-)

Page 8: Произвольные поля WordPress

Картинканастраницезаписи<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?><div class="entry"><?php $splashimg = get_post_meta($post->ID, 'post-image', $single = true); ?><?php if($splashimg !== '') { ?>

<img src="<?php echo $splashimg; ?>" alt="<?php { echo the_title(); } ?>" /><?php } else { echo ''; } ?><h2><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></ a></h2><?php the_content(); ?></div><?php endwhile; endif; ?>

Page 9: Произвольные поля WordPress

CSS =)позаявкам• Для этого добавим поле с ключом my_class и значением

new_fon – это и будет название класса.

• СТРАНИЦА:<?php $additional_class = get_post_meta($post->ID, 'my_class', true); ?><div class="my_post <?php echo $additional_class; ?> ">

<?php the_content(); ?></div>• CSS:.new_fon {background: #ff0;}

Page 10: Произвольные поля WordPress

РазныесайдбарыдлязаписейНаходим в файлах Темы вызов сайдбара:

<?php get_sidebar(); ?> и заменяем его на:<?php $sidebar = get_post_meta($post->ID, "sidebar", true); ?>

<?php get_sidebar($sidebar); ?>

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

Page 11: Произвольные поля WordPress

Выводим индивидуальный текст

moreдляИщем в single.php (файле, отвечающем за вывод одиночной записи) строчку

<?php the_content("Читать далее »"); ?> и заменяем на:<?php $custommore = get_post_meta( $post->ID, 'custom_more', true); ?> <?php if (!$custommore) { $custommore = 'Читать далее »'; } ?> <?php the_content($custommore); ?>

В записи создаем ключ произвольного поля custom_more и в значение пишем свой текст.

Page 12: Произвольные поля WordPress

? Гдехранятся $wpdb->postmeta• 'meta_id' – Уникальный id.• 'post_id' – Id записи, с которой связано поле.• 'meta_key' – Имя-ключ.• 'meta_value' – Значение ключа.[ postid1 => [key1 => [ val1, val2, ... ],key2 => [ val1, val2, ... ],...], postid2 => [key1 => [ val1, val2, ... ], key2 => [ val1, val2, ... ], ...],...]

$readinglist = $post_meta_cache[256]['reading'];

Page 14: Произвольные поля WordPress

- Облегчаемработу II• http://www.sooource.net/wordpress-fields-edit-widget

Page 16: Произвольные поля WordPress

!Благодарюзавнимание