Exclude the_post_thumbnail from gallery shortcode

后端 未结 3 1043
北海茫月
北海茫月 2020-12-29 14:56

I am using this code to have a simple gallery on the page:



        
相关标签:
3条回答
  • 2020-12-29 15:06
    <?php  $id = get_post_thumbnail_id(get_the_ID()); // gets the post thumbnail ID ?>
    <?php echo do_shortcode('[gallery exclude='.$id.' link="file" itemtag="div" icontag="span" captiontag="p" size="thumbnail" columns="4" ]'); ?> 
    
    0 讨论(0)
  • 2020-12-29 15:18
    function exclude_thumbnail_from_gallery($null, $attr)
    {
        if (!$thumbnail_ID = get_post_thumbnail_id())
            return $null; // no point carrying on if no thumbnail ID
    
        // temporarily remove the filter, otherwise endless loop!
        remove_filter('post_gallery', 'exclude_thumbnail_from_gallery');
    
        // pop in our excluded thumbnail
        if (!isset($attr['exclude']) || empty($attr['exclude']))
            $attr['exclude'] = array($thumbnail_ID);
        elseif (is_array($attr['exclude']))
            $attr['exclude'][] = $thumbnail_ID;
    
        // now manually invoke the shortcode handler
        $gallery = gallery_shortcode($attr);
    
        // add the filter back
        add_filter('post_gallery', 'exclude_thumbnail_from_gallery', 10, 2);
    
        // return output to the calling instance of gallery_shortcode()
        return $gallery;
    }
    add_filter('post_gallery', 'exclude_thumbnail_from_gallery', 10, 2);
    
    0 讨论(0)
  • 2020-12-29 15:23

    How about?

    echo do_shortcode('[gallery exclude="' . get_post_thumbnail_id( $post->ID ) . '"]');
    
    0 讨论(0)
提交回复
热议问题