Как разделить повторяющиеся поля на нескольких страницах?
Мне нравится поле повторителя плагина ACF (Advanced Custom Fields), но у меня есть две страницы на моем сайте WordPress, в которых есть разделы, которые используют одни и те же данные.
Очевидно, что одним из ключевых аспектов CMS является то, что при возникновении такой ситуации, как описанная выше, клиенту необходимо обновлять эти общие данные только в одном месте.
Мне все же интересно, как я могу это сделать? Я нашел следующее:
<?php
$include = get_pages('include=120' );
$content = apply_filters('the_content' ,$include[0]->post_content);
echo $content;
?>
Это работает для "the_content", но я я не уверен, как заменить его данными моего поля ретранслятора, которые выглядят следующим образом:
<?php
if( get_field('treatments' ) ): ?>
<?php
$i = 0;
while( has_sub_field('treatments' ) ):
$i++;
?>
<div class="treatments" id="treatment-<?php echo $i; ?>">
<img src="<?php the_sub_field('image' ); ?>" />
<?php the_sub_field('description' ); ?>
<a href="<?php the_sub_field('link' ); ?>">Read More ></a>
</div> <!-- treatments -->
<?php endwhile; ?>
<?php endif; ?>
1
1 answers
Функции ACF принимают второй аргумент, который является идентификатором страницы, с которой вы хотите получить поля. Смотрите примеры кода в документации.
$page_id = 120;
if( get_field( 'treatments', $page_id ) ):
while( has_sub_field( 'treatments', $page_id ) ):
// the_sub_field and get_sub_field don't need a post id parameter
the_sub_field('image' );
the_sub_field('description' );
endwhile;
endif;
1
Author: Milo, 2013-02-25 19:25:47