Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Using Custom Taxonomy Term ID for Custom Field

I have created a custom single-sermons.php template file for my sermons custom post type and want to include the sermon speaker image custom field of the sermon speaker for this post.

Custom Taxonomy ID: sermon_speaker Custom Field ID: sermon_speaker_image

I have been able to get the taxonomy term ID to display as a number on the page using:

<?php

$terms = wp_get_post_terms($post->ID, "sermon_speaker");
foreach ($terms as $termid) {  
echo $termid->term_id;
} 

?>

I'm trying to figure out how to use this term ID in the code below where I currently have . $term_id so that it adds the term ID to the end of the background image URL.

<div class="sermon-speaker-image" style="background-image: url('<?php the_field( 'sermon_speaker_image', 'sermon_speaker_' . $term_id ); ?>');"></div>

Update: The following code is a working solution based on the answer below:

<?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>
like image 662
Steve R Avatar asked Dec 24 '14 11:12

Steve R


1 Answers

Try this code this should work for you

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

You can read more on the official documentation of Advanced custom fields

like image 50
This_is_me Avatar answered Sep 20 '22 19:09

This_is_me