Question

I'm trying to display a number of custom post taxonomy terms - but each within their own specific list item.

I have a site which is about garages. (developing on localhost so don't have a link yet).

I have a custom post type called Cars. Within this I have a custom post taxonomy with the make of the Car 'Ford' in this case.

Within 'Ford' is a list of custom post taxonomy terms of all the ford cars at that garage. 'GT', 'Sierra', 'Orion'.

Instead of listing the terms: 'GT', 'Sierra', 'Orion'. I want to show a picture of the car within a ul list.

I've created a sprite with all the images and want to loop through these setting the background position for each li item.

The first lot of code below displays a list of of the terms which is all good, but not what I want. Right at the bottom is the code which I've tried to add the list items to but just getting a blank screen...

Any help, much appreciated. Thanks

<?php if ( get_post_type() == cars ) { ?>
        <div class="entry-meta-custom">
            <?php
            $terms = get_the_terms( $post->ID, 'ford' );

            if ( $terms && ! is_wp_error( $terms ) ) : 

                 $draught_links = array();

             foreach ( $terms as $term ) {
                 $draught_links[] = $term->name;
             }

              $on_draught = join( ", ", $draught_links );
              ?>

             <?php echo $on_draught; ?>

         <?php endif; ?>
     </div><!-- .entry-meta-custom -->
 <?php } ?>

And here's where I've tried to add the list items.

<?php if ( get_post_type() == cars ) { ?>
        <div class="entry-meta-custom">     
            <?php
            $terms = get_the_terms( $post->ID, 'ford' );

            if ( $terms && ! is_wp_error( $terms ) ) : 

                $draught_links = array();

            foreach ( $terms as $term ) {

                if ($term->name == 'gt') { 
                    $term->name = '<li class="gt">' . $term->name . '</li>';
                 }
                 if ($term->name == 'sierra') { 
                    $term->name = '<li class="sierra">' . $term->name . '</li>';
                 }
                 if ($term->name == 'orion') { 
                    $term->name = '<li class="orion">' . $term->name . '</li>';
                 }
                $draught_links[] = $term->name;
            }

            $on_draught = join( ", ", $draught_links );
            ?>

            <?php echo '<ul>' . $on_draught . '</ul>; ?>

        <?php endif; ?>
    </div><!-- .entry-meta-custom -->
<?php } ?>
Was it helpful?

Solution

I worked it out. Below is the code for anyone that is looking to replace custom post taxonomy list terms with individual images which are link to the term archive.

Source http://codex.wordpress.org/Function_Reference/get_term_link

<?php if ( get_post_type() == cars ) { ?>
    <div class="entry-meta-custom">     
        <?php

        $terms = get_terms('ford');

        echo '<ul>';

        foreach ($terms as $term) {
            echo '<li class="'.$term->name.'"><a href="'.get_term_link($term->slug, 'ford').'"></a></li>';
        }

        echo '</ul>'; ?>

    </div><!-- .entry-meta-custom -->
<?php } ?>
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top