Как разделить повторяющиеся поля на нескольких страницах?


Мне нравится поле повторителя плагина 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; ?>
Author: Johnny, 2013-02-25

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