我有这段代码:
<div class="wrap sc-cat-container">
<?php
$customPostTaxonomies = get_object_taxonomies('short_courses');
if(count($customPostTaxonomies) > 0)
{
foreach($customPostTaxonomies as $tax)
{
$args = array(
'orderby' => 'name',
'show_count' => 0,
'pad_counts' => 0,
'hierarchical' => 1,
'taxonomy' => $tax,
'title_li' => '',
'hide_empty' => FALSE
);
$categories = get_categories( $args );
foreach ( $categories as $category ) {
echo '
<div class="one-half sc-cat-items">
<h2>
<a href="' . get_category_link( $category->term_id ) . '">' . $category->name . '</a>
</h2>
</div>';
}
}
}
?>
</div>
这会显示我的自定义帖子类型&#39;短期课程&#39;的类别列表。以下是目前的展示方式:http://staging.seedcreativeacademy.co.uk/short-courses/
这很棒,工作正常,但我也想为我的类别添加图片,我看起来像这样:
我有高级自定义字段,我在其中创建了一个图像字段,因此我现在可以为每个类别分配图像。到现在为止还挺好!
当我尝试在上面的代码中显示图像时出现了主要问题......
这是在任何正常情况下显示图像的代码:
<img src="<?php the_field('course_type_image'); ?>">
但是我想我需要将它添加到上面的代码中...所以我想出了这个但是它没有工作,因为我不认为我可以在另一个PHP标签中放入一个php标签!?
<div class="wrap sc-cat-container">
<?php
$customPostTaxonomies = get_object_taxonomies('short_courses');
if(count($customPostTaxonomies) > 0)
{
foreach($customPostTaxonomies as $tax)
{
$args = array(
'orderby' => 'name',
'show_count' => 0,
'pad_counts' => 0,
'hierarchical' => 1,
'taxonomy' => $tax,
'title_li' => '',
'hide_empty' => FALSE
);
$categories = get_categories( $args );
foreach ( $categories as $category ) {
echo '
<div class="one-half sc-cat-items">
<img src="<?php the_field('course_type_image'); ?>">
<h2>
<a href="' . get_category_link( $category->term_id ) . '">' . $category->name . '</a>
</h2>
</div>';
}
}
}
?>
</div>
所以我有点困惑......
答案 0 :(得分:1)
您正在尝试回显一个字符串,但是在您的字符串中,您正在调用一个函数,该函数本身就是回声而不是返回一个字符串:
echo '
<div class="one-half sc-cat-items">
<img src="<?php the_field('course_type_image'); ?>">
<h2>
<a href="' . get_category_link( $category->term_id )
. '">' . $category->name . '</a>
</h2>
</div>';
因此,当尝试调用字符串中的函数the_field()进行回声时,它会尝试再次回显。
您需要使用get_field()函数返回字段的值。
此外,删除img源代码行中的php标记,因为您已经在开放的<?php
标记内:
'<img src="' . get_field('course_type_image') . '">'