WordPress.org

Ready to get started?Download WordPress

Forums

How to show image url of taxonomy term? (5 posts)

  1. flick
    Member
    Posted 3 years ago #

    Sorry to ask this basic question: but I am still really confused by what to do in order to show the image itself in e.g. the header.

    I understand the previous do_action in the screencast was deprecated in 0.6, but being the PHP newbie that I am, I am having difficulty figuring out exactly how to use the apply_filters function.

    For instance: in the Twenty Ten header.php section (using a child theme) I would like to use something along the lines of:

    elseif (is_tax() || 'book' ==get_post_type() && $image_url= apply_filters( 'taxonomy-images-queried-term-image-url', '' )) : ?>
    <img src="<?php $image_url; ?>" />

    I know this code doesn't actually work at the moment, but is this the right way of using the apply_filers function?

    Many thanks in advance and sorry for the newbie question!

  2. Michael Fields
    Themer
    Posted 3 years ago #

    Many thanks in advance and sorry for the newbie question!

    There's no such thing as a newbie question. Never appoligize for not knowing something :)

    I understand the previous do_action in the screencast was deprecated in 0.6, but being the PHP newbie that I am, I am having difficulty figuring out exactly how to use the apply_filters function.

    I didn't relaize that I had code examples in the screencast. I really need to make a new one if so. Thanks for letting me know!

    I know this code doesn't actually work at the moment, but is this the right way of using the apply_filers function?

    Not sure what you are trying to do here really. From the code, it looks like you are targeting any custom taxonomy as well as the custom post type books. If either of these two conditions are true, you want to display that taxonomy image for the currently queried taxonomy. I think that you may be trying to do too much at the same time.

    the taxonomy-images-queried-term-image-url filter should return the url to the image associated with the queried term. The following code should be all that you need:

    else if ( is_tax() ) {
    	$url = apply_filters( 'taxonomy-images-queried-term-image-url', '' );
    	if ( ! empty( $url ) ) {
    		print '<img src="' . esc_url( $url ) . '">';
    	}
    }

    I have removed the condition for post_type. Not sure why this was there.

  3. flick
    Member
    Posted 3 years ago #

    Hi Michael

    Thanks so much for your prompt, friendly and helpful reply! :)

    The code that you provided worked perfectly! The penny dropped for the image size part when I re-read the documentation, and so I just attached the image_size=>'full' part to get the full image.

    To clarify re: the clumsy post_type part - I am also trying to get the image to show when showing a single-book.php custom post type.

    e.g. When a visitor views a book such as 'Pride and Prejudice' the genre/taxonomy is 'Classics'. The header will then show the image associated with the taxonomy term.

    However, upon re-reading the documentation, I've now realised that this might not be possible with Taxonomy Images because of

    "use templates like category.php, tag.php taxonomy.php and all of their derivatives"

    ? Or am I barking up the wrong tree again?

    Sorry in advance and thanks again! :)

  4. Michael Fields
    Themer
    Posted 3 years ago #

    No Problem!

    This plugin can handle this, your just looking in the wrong place. You need to use the get_the_terms() style filter instead. See if you can figure out the solution by looking at the code here: http://wordpress.org/support/topic/combining-logic-of-my-function-with-tax-images?replies=9#post-2193540

    It's a bit different than what you need, but very similar.

  5. flick
    Member
    Posted 3 years ago #

    Thanks again, Michael! :) You're a legend!

    I still don't fully grasp why it works so beautifully well, but for anyone else needing the same functionality (Twenty Ten child theme) this appears to work for me:

    <?php
    					// Check if this is a post or page, if it has a thumbnail, and if it's a big one
    					if ( is_singular() &&
    							has_post_thumbnail( $post->ID ) &&
    							( /* $src, $width, $height */ $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'post-thumbnail' ) ) &&
    							$image[1] >= HEADER_IMAGE_WIDTH ){
    						// Houston, we have a new header image!
    						echo get_the_post_thumbnail( $post->ID, 'post-thumbnail' );}
    					// w/thanks to Michael Fields - pulling Taxonomy Image
    					else if ( is_tax() ) {
    						$url = apply_filters( 'taxonomy-images-queried-term-image-url', '' , array(
    						'image_size' => 'full') );
    						if ( ! empty( $url ) ) {
    						print '<img src="' . esc_url( $url ) . '" title="Category Logo">';
    					}
    					}
    					// if it's a single book post type - see taxonomy-images
    					else if ( is_singular('book')) {
    						$src = 'http://full-path.to/default-image.jpg';
    						$genre_logo = apply_filters( 'taxonomy-images-get-the-terms', array(), array( 'taxonomy' => 'genre' ) );
    							if ( isset( $group_logo[0]->image_id ) ) {
    							$img = wp_get_attachment_image_src( $genre_logo[0]->image_id, 'full' );
    							if ( isset( $img[0] ) ) {
    							$src = $img[0];
    							}
    						}
    						print '<img src="' .($src) .'" title="Category Logo">';
    					}	else { ?>
    						<img src="<?php header_image(); ?>" width="<?php echo HEADER_IMAGE_WIDTH; ?>" height="<?php echo HEADER_IMAGE_HEIGHT; ?>" alt="" />
    					<?php }  ?>

Topic Closed

This topic has been closed to new replies.

About this Topic