У меня есть 3 пользовательских типа постов на нашем сайте WP, книги, аудиокниги и авторы.
На странице автора я хочу показать похожие книги / аудиокниги этого автора.
На странице книги / аудиокниги есть поле повторителя, позволяющее пользователю выбрать одного или нескольких авторов в качестве объектов публикации (чтобы их можно было выбрать из CPT).
Поле повторителя = ‘author_repeater’.
Подполе = «автор».
Приведенный ниже код является моей попыткой мета-запроса, но, похоже, он не работает. Я подозреваю, что это потому, что я не обращаюсь к объекту post правильно (не уверен, если это вообще возможно).
Какие-нибудь мысли?
<?php
$current_author = get_the_title();
function my_posts_where( $where ) {
$where = str_replace("meta_key = 'author_repeater_$", "meta_key LIKE 'author_repeater_$", $where);
return $where;
}
add_filter('posts_where', 'my_posts_where');
$args = array(
'post_type' => 'books', //array('books','audiobooks')
'post_status' => 'publish',
'posts_per_page' => 40,
'meta_query' => array(
array(
'key' => 'author_repeater_$_author',
'compare' => 'LIKE',
'value' => $current_author
)
)
);
$books_by_author = new WP_Query( $args );
if ( $books_by_author->have_posts() ): while ( $books_by_author->have_posts() ): $books_by_author->the_post();
?>
<div class="card">
<div class="white_frame">
<h4 class="card__title"><?php the_title(); ?></h4>
<a href="<?php the_permalink(); ?>">
<?php the_post_thumbnail(array('class' => 'card__img img')); ?>
</a>
<a href="<?php the_permalink(); ?>">
<div class="card__btn">View title</div>
</a>
</div>
</div>
<?php
endwhile;
endif;
?>
Задача ещё не решена.
Других решений пока нет …