【问题标题】:retrieve wordpress featured image (thumbnail) programmatically以编程方式检索 wordpress 特色图像(缩略图)
【发布时间】:2011-06-07 15:03:49
【问题描述】:

您好,我正在使用 wordpress v3.03,我想知道如何获取主题中帖子的特色图片

目前我正在使用

get_the_post_thumbnail( $post->ID, 'post-thumbnail')

它适用于 1 张图片,但是当我不断添加新图片时,上面的代码总是检索我附加到帖子的第一张图片,而不是我设置为“精选”的图片

任何帮助将不胜感激

【问题讨论】:

    标签: php wordpress themes thumbnails


    【解决方案1】:

    在你的主题functions.php文件中添加

    add_theme_support( 'post-thumbnails' );
    add_theme_support( 'post-thumbnails', array( 'post' ) );
    

    然后在 wp-admin 中,当您编辑帖子时,您应该有一个特色图片框,您可以在其中设置 1 个特色图片。然后在循环中你可以使用以下函数:

    the_post_thumbnail();
    has_post_thumbnail();
    

    更新

    添加缩略图后主题支持后,您需要使用 wp-admin/post.php 页面右侧边栏上的“特色图片”框设置特色图片。它就在“发布标签”框的下方。然后在循环之外,您可以使用 get_the_post_thumbnail() 函数来检索该图像。如果您没有为帖子设置任何特色图片,它将获取您在该帖子中插入的最后一张图片。

    另一种设置特色图片的方法是(在添加缩略图主题支持后),当您将图片插入帖子时,您将在上传后获得“设置特色图片”(在让你选择图像对齐)。然后图像应该在右侧边栏的“特色图像”框中可见。

    【讨论】:

    • 是的,我已经完成了 add_theme_support('post-thumbnails');但我在 wp 循环之外显示“特征图像”,这就是为什么我一直在使用 get_the_post_thumbnail($post->ID, 'post-thumbnail'),它似乎不起作用
    • 但是,您是否使用发布/编辑 wp-admin 页面右侧边栏上的“特色图片”框设置特色图片?该图片与您插入帖子中的图像没有任何关系,get_the_post_thumbail() 应该只检索该图像,并且它在循环之外工作得很好。
    • 是的,我确实将图像设置为特色框。问题是,它对第一张图片效果很好,但是一旦我把第二张/第三张图片设置为“特色图片”,上面的代码仍然显示最初的特色图片。
    • 通常你为每个帖子设置 1 张特色图片,这就是它应该如何工作的。如果您希望每个帖子有多个特色图片,那么我建议您找到一个插件或构建一个,或者构建一个主题函数,使用$wpdb 类直接在数据库上运行查询。
    【解决方案2】:
    // Gets the post's featured image URL, if not available then use given fallback url.
    function get_featured_image_url($fallback_url) {
      if (is_front_page()) {
        return $fallback_url;
      }
    
      $thumb = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'large');
    
      if (!$thumb) {
        return $fallback_url;
      }
    
      return $thumb[0];
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-18
      • 2012-01-26
      • 1970-01-01
      • 2014-07-23
      • 1970-01-01
      • 2013-01-14
      • 2014-09-28
      • 2011-03-11
      相关资源
      最近更新 更多