Я использую расширенное настраиваемое поле на моем сайте.
Я создал настраиваемое поле «отношения», которое будет отображаться на всех страницах моей категории товаров (я использую woocommerce, поэтому я использую product_cat_
вместо category
в моем php).
При использовании основного текстового поля я могу отобразить текст на странице моей категории, используя этот код:
<?php
$term_id = get_queried_object()->term_id;
$post_id = 'product_cat_'.$term_id;
?>
<div><?php the_field('text', $post_id); ?></div><?php ?>
но теперь, когда я пытаюсь использовать функцию отношений внутри этой страницы категории, я не получаю правильное название и постоянную ссылку из сообщения, которое я выбрал, и не могу найти, как изменить свой код …
вот мой код, мое настраиваемое поле называется mise_en_avant_produit
и возвращает объект post.
<?php
$term_id = get_queried_object()->term_id;
$post_id = 'product_cat_'.$term_id;
$posts = get_field('mise_en_avant_produit', $post_id);
if( $posts ):
?>
<?php foreach( $posts as $post): ?>
<?php setup_postdata($post); ?>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
<?php endforeach; ?>
<?php wp_reset_postdata(); ?>
<?php endif; ?>
<?php ?>
Я уже использовал этот вид кода, например, для отображения полей отношений с другой страницы, но здесь я не могу найти решение,
вот что я получаю, когда print_r
Array ( [0] => WP_Post Object ( [ID] => 42 [post_author] => 1 [post_date] => 2014-09-16 17:22:07 [post_date_gmt] => 2014-09-16 16:22:07 [post_content] => . [post_title] => Green tea [post_excerpt] => [post_status] => publish [comment_status] => open [ping_status] => closed [post_password] => [post_name] => green-tea [to_ping] => [pinged] => [post_modified] => 2014-09-25 08:36:41 [post_modified_gmt] => 2014-09-25 07:36:41 [post_content_filtered] =>
[post_parent] => 0 [guid] => http://localhost:8888/bemygift/?product=green-tea [menu_order] => 0 [post_type] => product [post_mime_type] => [comment_count] => 0 [filter] => raw ) )
Кто-нибудь может мне помочь с этим?
большое спасибо,
У меня была похожая проблема, может быть, это поможет вам.
<?php while ( have_posts() ) : the_post(); ?>
<?php
$auth_name = get_field('first_last_name');
$auth_office = get_field('position_of_author');
$auth_photo = get_field('author_photo');
?>
<img class="alignleft" src="<?php echo $auth_photo['url']; ?>" alt="<?php echo $auth_photo['alt']; ?>" />
<p><?php echo $auth_name; ?></p>
<p><?php echo $auth_office ?></p>
<?php $postid = get_the_ID(); ?>
<ul class="products">
<?php
$args = array(
'post_type' => 'product'
);
$loop = new WP_Query( $args );
if ( $loop->have_posts() ) {
while ( $loop->have_posts() ) : $loop->the_post(); ?>
<?php
$locations = get_field('custom_product_author');
$to_obj = $locations[0];
$to_id = $to_obj->ID;
$to_id_str = (string)$to_id;
?>
<?php if( $postid == $to_id_str ): ?>
<ul>
<?php foreach( $locations as $location ): ?>
<li>
<?php wc_get_template_part( 'content', 'product' ); ?>
</li>
<?php endforeach; ?>
</ul>
<?php endif; ?>
<? endwhile;
} else {
echo __( 'No products found' );
}
wp_reset_postdata();
?>
</ul>
<?php endwhile; // end of the loop. ?>
Других решений пока нет …