Как отобразить Настраиваемое поле Связи ACF в качестве ссылки на конкретную пользовательскую публикацию?
ХОРОШО. Я читаю эти учебные пособия по ACF, но я не вдаюсь в это.
У меня есть 2 типа сообщений: Списки и Контакты.
Каждый список должен быть связан с каким-либо контактом, и я использую Связь пользовательский тип поля (list_supplier), который ограничен только одним выбором (или контактом).
Все, что мне нужно сделать, это отобразить ссылку в шаблоне списков в качестве заголовка контактного сообщения, которое теперь связано с этим Список.
Плагин
http://wordpress.org/plugins/advanced-custom-fields/
ОБНОВЛЕНИЕ:
ХОРОШО. Я близок к решению этой проблемы, но у меня есть некоторые проблемы с фильтром.
Вот код, который я использую в своем шаблоне:
<?php $contacts = get_field('list_supplier'); ?>
<?php if( $contacts ): ?>
<?php foreach( $contacts as $contact ): ?>
<a href="<?php echo get_permalink( $contact->ID ); ?>" target="blank"><?php echo get_the_title( $contact->ID ); ?></a>
<?php endforeach; ?>
<?php endif; ?>
В один момент я заставил его работать на интерфейсе, но возникла некоторая проблема с фильтрами. Когда я добавляю некоторые из этих фильтров в functions.php, варианты выбора из настраиваемого поля list_supplier исчезают. Когда я удалите фильтр list_supplier ссылки есть, но они не отображаются на интерфейсе.
Я знаю, что проблема в фильтре, но я не знаю, как его написать.
1 answers
Наконец, я заставляю это работать.
Я поместил это в свой шаблон:
<?php $contacts = get_field('list_supplier'); ?>
<?php if( $contacts ): ?>
<?php foreach( $contacts as $contact ): ?>
<a href="<?php echo get_permalink( $contact->ID ); ?>" target="blank"><?php echo get_the_title( $contact->ID ); ?></a>
<?php endforeach; ?>
<?php endif; ?>
А вот фильтр, который я использую
<?php
function my_acf_load_field( $field )
{
$field['choices'] = array(
'custom' => 'My Custom Choice'
);
return $field;
}
// acf/load_field/key={$field_key} - filter for a specific field based on it's name
add_filter('acf/load_field/key=field_525c37d91ae8d', 'my_acf_load_field');
?>