WordPress.org

Ready to get started?Download WordPress

Forums

Multiple Post Thumbnails
[resolved] Thumbnails not working in Home page (3 posts)

  1. Sirio Alieghieri
    Member
    Posted 1 year ago #

    Hi, I have some problems in retrieving the pages thumbnails in my home page. Everything works properly when thumbanils are displayed in other pages, but related thumbanails disappears when current page is home. How can I solve this problem? I'm actually working on a wp_menu_nav, where there are mixed pages titles with their secondary-image thumbnails.

    This is the code put in function.php file:

    <?php
    
    // nav menu walker
    class My_Walker extends Walker_Nav_Menu
    {
        function start_el(&$output, $item, $depth, $args) {
            global $wp_query;
            $indent = ( $depth ) ? str_repeat( "\t", $depth ) : '';
    
            $class_names = $value = '';
    
            $classes = empty( $item->classes ) ? array() : (array) $item->classes;
    
            $class_names = join( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item ) );
            $class_names = ' class="' . esc_attr( $class_names ) . '"';
    
            $output .= $indent . '<li id="menu-item-'. $item->ID . '"' . $value . $class_names .'>';
    
            $attributes  = ! empty( $item->attr_title ) ? ' title="'  . esc_attr( $item->attr_title ) .'"' : '';
            $attributes .= ! empty( $item->target )     ? ' target="' . esc_attr( $item->target     ) .'"' : '';
            $attributes .= ! empty( $item->xfn )        ? ' rel="'    . esc_attr( $item->xfn        ) .'"' : '';
            $attributes .= ! empty( $item->url )        ? ' href="'   . esc_attr( $item->url        ) .'"' : '';
            $attributes .= ' data-id="'. esc_attr( $item->object_id        ) .'"';
            $attributes .= ' data-slug="'. esc_attr(  basename(get_permalink($item->object_id )) ) .'"';
    
    		$post_id = $item->object_id;
    		ob_start();
    		echo '<br><img src="' . MultiPostThumbnails::get_post_thumbnail_url(get_post_type(), 'secondary-image', $post_id) . '" />';
    		$myStr = ob_get_contents();
    		ob_end_clean();
    
            $item_output = $args->before;
            $item_output .= '<a'. $attributes . '>';
            $item_output .= $args->link_before . apply_filters( 'the_title', $item->title, $item->ID ) . $myStr . $args->link_after;
            $item_output .= '</a>'; /* This is where I changed things. */
            $item_output .= $args->after;
    
            $output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args );
        }}
    
    ?>

    http://wordpress.org/extend/plugins/multiple-post-thumbnails/

  2. Chris Scott
    Member
    Plugin Author

    Posted 1 year ago #

    Since this is outside the loop, you likely need to replace get_post_type() with a string value of the post type.

  3. Sirio Alieghieri
    Member
    Posted 1 year ago #

    Yeah, I forgot that. Thank you, I solved my problem. Just replacing get_post_type() with 'page', so that my string became:

    echo '<br><img src="' . MultiPostThumbnails::get_post_thumbnail_url('page', 'secondary-image', $post_id) . '" />';

Topic Closed

This topic has been closed to new replies.

About this Plugin

About this Topic