我已经为我的讲道自定义帖子类型创建了一个自定义的单个sermons.php模板文件,并希望在此帖子中包含布道讲者的讲道图像自定义字段。
自定义分类标识ID:sermon_speaker 自定义字段ID:sermon_speaker_image
我已经能够使用以下命令获取分类术语ID以在页面上显示为数字:
<?php
$terms = wp_get_post_terms($post->ID, "sermon_speaker");
foreach ($terms as $termid) {
echo $termid->term_id;
}
?>
我试图弄清楚如何在我目前拥有的代码中使用此术语ID。 $ term_id,以便将术语ID添加到背景图像URL的末尾。
<div class="sermon-speaker-image" style="background-image: url('<?php the_field( 'sermon_speaker_image', 'sermon_speaker_' . $term_id ); ?>');"></div>
更新:以下代码是基于以下答案的有效解决方案:
<?php
global $post;
// load all 'sermon_speaker' terms for the post
$terms = get_the_terms($post->ID, 'sermon_speaker');
// we will use the first term to load ACF data from
if( !empty($terms) )
{
$term = array_pop($terms);
$custom_field = get_field('sermon_speaker_image', $term );
}
?>
<div class="sermon-speaker-image" style="background-image: url('<?php echo $custom_field; ?>');"></div>
答案 0 :(得分:2)
试试这个应该适用的代码
global $post;
// load all 'sermon_speaker' terms for the post
$terms = get_the_terms($post->ID, 'sermon_speaker');
// we will use the first term to load ACF data from
if( !empty($terms) )
{
$term = array_pop($terms);
$custom_field = get_field('sermon_speaker_image', $term );
// do something with $custom_field
//i.e. echo $custom_field;
//i.e. echo "<img src='$custom_field'/>";
?>
<div class="sermon-speaker-image" style="background-image: url('<?php echo $custom_field; ?>');"></div>
<?
}
上阅读更多内容
答案 1 :(得分:0)
两个想法:
<div class="sermon-speaker-image" style="background-image: url('<?php the_field( 'sermon_speaker_image', 'sermon_speaker_' ?> . <?php echo $term_id ?> ); ?>');"></div>
我使用echo实际显示它。
这是我最喜欢的,实际上是一个。 您可以使用jQuery在所需的位置设置属性background-image,并附加自定义类型的值。
$(document).ready(function() {
var new_link = $(".sermon-speaker-image").attr("background-image");
new_link = x.append('<?php echo $term_id; ?>','');
jQuery(".sermon-speaker-image").attr("background-image", new_link);
}
当然,您必须检查(url = url + id)图像是否确实存在。