Я использую Расширенные пользовательские поля в Wordpress, чтобы иметь возможность связывать контент друг с другом. Это сценарий:
• Установить связь между типом записи «дизайн» и типом записи «элемент»
• На всех страницах «дизайна» я хотел бы показать все «элементы» из всех дизайнов.
• Когда я нажимаю на один из этих «предметов», мне нравится переходить на URL «дизайна», связанного с этим конкретным предметом.
Вот как это выглядит сейчас:
<?php $items = get_field('items'); ?>
<?php foreach( $items as $item ): ?>
<?php setup_postdata($item); ?>
<?php
$design = get_posts(array(
'post_type' => 'design',
'meta_query' => array(
array(
'key' => 'items', // name of custom field
'value' => '"' . $item->ID. '"',
'compare' => 'LIKE'
)
)
));
?>
<a href="<?php echo get_permalink( $design->ID ); ?>" target="blank">Link to "Design"</a>
<?php endforeach; ?>
Я думал, что это получит URL-адрес связанного типа поста "Дизайн", но все, что я получу, это URL-адрес текущей страницы.
Кто-нибудь знает, что я делаю не так?
EDIT:
В учебнике ACF Relationship есть пример, подобный следующему:
$design = get_posts(array(
'post_type' => 'design',
'meta_query' => array(
array(
'key' => 'items', // name of custom field
'value' => '"' . get_the_ID() . '"', // matches exactly "123", not just 123. This prevents a match for "1234"
'compare' => 'LIKE'
)
)
));
?>
<?php if( $design ): ?>
<ul>
<?php foreach( $doctors as $doctor ): ?>
Но вместо get_the_ID () мне сначала нужно получить идентификатор каждого элемента, а затем найти дизайн, включающий этот элемент. Что мне нужно изменить из учебного кода?