我已经遍布谷歌,试图解决这个问题。我已经取得了一些进展但仍然陷入困境。我是ACF和自定义帖子类型的新手。我有一个自定义帖子类型Attorneys
我通过WCK设置。该帖子类型的字段组的字段名称为attorney_photo
,attorney_name
和attorney_areas_of_practice
。使用下面的代码,我可以显示attorney_name
和attorney_areas_of_practice
(转发器字段),但不能显示attorney_photo
。我在每个律师特定页面上都能正确显示信息,但我需要此页面作为所有律师的列表。不确定我在图片部分做错了什么。
<?php get_header(); ?>
<?php
$args = array(
'posts_per_page' => 30,
'order' => 'ASC',
'orderby' => 'title',
'post_type' => 'attorneys'
);
query_posts($args);
if ( have_posts() ) :
?>
<?php while ( have_posts() ) : the_post(); ?>
<div class="attorney-preview">
<?php $photo = get_post_meta($post->ID,'attorney_photo', true); ?>
<img src="<?php echo $photo; ?>" />
<p><strong><a href=""><?php echo get_post_meta($post->ID,'attorney_name', true); ?></a></strong></p>
<ul>
<?php
while ( have_rows('attorney_areas_of_practice') ) : the_row();
$attorney_area_of_practice = get_sub_field('attorney_area_of_practice');
echo "<li>" . $attorney_area_of_practice . "</li>";
endwhile;
?>
</ul>
</div><!-- .attorney-preview -->
<?php endwhile; ?>
<?php endif; ?>
<?php
wp_reset_query(); // Restore global post data stomped by the_post().
?>
<?php get_footer(); ?>
答案 0 :(得分:1)
通过ACF插件添加图像字段时,有一些返回值选项。例如返回值为:图像对象或返回值为:图像网址,在您的情况下,返回值可能被选为图像对象,而不是图像网址。这就是为什么在这里你的代码返回一个数组而不是只返回url。要从此数组中仅获取图像网址,请按以下方式进行更改:
<?php $photo = get_post_meta($post->ID,'attorney_photo', true); ?>
<img src="<?php echo $photo['url']; ?>" />
答案 1 :(得分:0)
试试这个
<?php query_posts(array('posts_per_page' => 30,'order' => 'ASC','orderby' => 'title','post_type' => 'attorneys'));
if (have_posts()) : while (have_posts()) : the_post();
$attorney_photo = get_post_meta($post->ID, 'attorney_photo', true);
$attorney_name = get_post_meta($post->ID, 'attorney_name', true); ?>
<div class="attorney-preview">
<img src="<?php echo $attorney_photo; ?>" />
<p><strong><a href=""><?php echo $attorney_name; ?></a></strong></p>
<ul>
<?php
while ( have_rows('attorney_areas_of_practice') ) : the_row();
$attorney_area_of_practice = get_sub_field('attorney_area_of_practice');
echo "<li>" . $attorney_area_of_practice . "</li>";
endwhile;
?>
</ul>
</div><!-- .attorney-preview -->
<?php endwhile; endif; ?>
<?php
wp_reset_query(); // Restore global post data stomped by the_post().
?>