2014-09-29 2 views
0

Я использую расширенные пользовательские поля на своем веб-сайте. Я создал настраиваемое поле «отношения», которое будет отображаться на всех страницах моей категории продуктов (я использую woocommerce, поэтому я использую product_cat_ вместо category в моем php)., отображающий отношение acf custom field на странице продукта.

При использовании основного текстового поля, я abble для отображения текста на моей странице категории, используя этот код:

<?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)) 

Может ли кто-нибудь помочь мне с этим?

Большое спасибо,

+0

Вы можете уточнить: 1 - Вы говорите, что вы не получите правильное название и постоянную ссылку. Вы имеете в виду, что получаете неправильный заголовок или нет названия? 2. Можете ли вы 'print_r ($ posts)', чтобы мы могли увидеть, что он получает – Dre

+0

@Dre, спасибо за ваш ответ. Я получаю заголовок, но не тот, который я выбрал в своем настраиваемом поле ... – mmdwc

+0

вот что я получаю, когда print_r – mmdwc

ответ

0

Я была аналогичная проблема, может быть, это поможет вам.

<?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. ?> 

ACF | Querying relationship fields