WordPress-如何显示特定类别的特色图像作为背景?

彼得胡须

首先,PHP不是我的强项,但是我们开始吧。

我的functions.php中有一个函数,可以捕获特色图像并将其设置为背景。然后在header.php中调用此函数

function set_post_background() {
  if(query_posts(array ('category_name' => 'results')));
    if (have_posts()) : while (have_posts()) : the_post(); 
        global $post;
        $bgimage = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), "Full");
        if (!empty($bgimage)) {
            return '<style type="text/css">body {background:#fff url('.$bgimage[0].') no-repeat top center;}</style>';
        }
endwhile; endif;
wp_reset_query();
}

昨晚,我试图修改该函数,并将其包装在一个query_posts()设法使它起作用的类中。现在,如果它属于“结果”类别,它将仅获取帖子的特色图片并将其设置为背景。

但是此代码中的某些内容是错误的,因为现在我的页面内容都没有出现。禁用该功能,内容返回。

我做错了什么?

[编辑]我认为这是我查询类别名称的方式。因为page.php获得了类似的查询,the_content()我认为该功能覆盖了该查询,因此不显示页面内容。

wpclevel

问题是您正在使用query_posts它将改变默认主查询的结果。这意味着页面的默认内容将被results类别中的内容更改试试这个:

function set_post_background() {
    $query = new \WP_Query(['category_name' => 'results']);
    if ($query->have_posts()) {
        while ($query->have_posts()) : $query->the_post();
        $bgimage = wp_get_attachment_image_src(get_post_thumbnail_id($query->post->ID), 'full');
        if (!empty($bgimage)) {
            return '<style type="text/css">body{background:#fff url('.$bgimage[0].') no-repeat top center}</style>';
        }
        endwhile;
    }
    wp_reset_query();
}

在任何情况下,请勿使用query_posts()功能查询帖子。从参考:

注意:插件或主题不打算使用此功能。如后面所述,有更好的,性能更高的选项可以更改主查询。query_posts()是通过将页面的主查询替换为新的查询实例来简化页面主查询的过于简单和成问题的方式。它效率低下(重新运行SQL查询),并且在某些情况下(特别是在处理帖子分页时,通常会完全失败)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Wordpress中显示特定类别的帖子

来自分类Dev

显示特定类别的帖子-Wordpress

来自分类Dev

Wordpress:如何获取特定类别的链接

来自分类Dev

如何使用$ wpdb类在wordpress中显示特色图像

来自分类Dev

排除Wordpress帖子显示在特定类别的首页上

来自分类Dev

Wordpress 获取每个帖子的特定类别的术语并显示它

来自分类Dev

如何编辑此代码以显示类别的内容?(WordPress)

来自分类Dev

如何在 Wordpress 中显示类别的分页?

来自分类Dev

如何禁用WordPress中特定类别的评论?

来自分类Dev

显示当前类别的最早的wordpress帖子

来自分类Dev

在WordPress中显示子类别的帖子?

来自分类Dev

从外部URL导入WordPress发布图像作为特色图像

来自分类Dev

从外部URL导入WordPress发布图像作为特色图像

来自分类Dev

在 Wordpress 中显示特定类别

来自分类Dev

更改wordpress小部件显示特定post_tag而不是特定类别的帖子

来自分类Dev

在Wordpress中显示具有特定日期和特定类别的帖子的文本

来自分类Dev

更改wordpress小部件显示特定post_tag而不是特定类别的帖子

来自分类Dev

在 Wordpress 中居中特色图像

来自分类Dev

Wordpress 自定义帖子类型显示类别的图像

来自分类Dev

wordpress-显示所选类别的父类别

来自分类Dev

创建“查看所有帖子”链接以显示来自WordPress中特定类别的所有帖子

来自分类Dev

来自特定WordPress类别的帖子未显示在Timber / Twig for loop中

来自分类Dev

相同类别的帖子或图像的Wordpress / jQuery Hover效果

来自分类Dev

如何显示WordPress中某个类别的第二和第三最新帖子

来自分类Dev

如何在 Wordpress 主页上仅显示两个类别的帖子?

来自分类Dev

显示类别WordPress的帖子

来自分类Dev

显示顶级 wordpress 类别

来自分类Dev

Wordpress:如何创建包含具有1个特定类别的帖子的外部页面或文件?

来自分类Dev

Wordpress:如何使用自定义查询获取不包含特定类别的帖子

Related 相关文章

  1. 1

    如何在Wordpress中显示特定类别的帖子

  2. 2

    显示特定类别的帖子-Wordpress

  3. 3

    Wordpress:如何获取特定类别的链接

  4. 4

    如何使用$ wpdb类在wordpress中显示特色图像

  5. 5

    排除Wordpress帖子显示在特定类别的首页上

  6. 6

    Wordpress 获取每个帖子的特定类别的术语并显示它

  7. 7

    如何编辑此代码以显示类别的内容?(WordPress)

  8. 8

    如何在 Wordpress 中显示类别的分页?

  9. 9

    如何禁用WordPress中特定类别的评论?

  10. 10

    显示当前类别的最早的wordpress帖子

  11. 11

    在WordPress中显示子类别的帖子?

  12. 12

    从外部URL导入WordPress发布图像作为特色图像

  13. 13

    从外部URL导入WordPress发布图像作为特色图像

  14. 14

    在 Wordpress 中显示特定类别

  15. 15

    更改wordpress小部件显示特定post_tag而不是特定类别的帖子

  16. 16

    在Wordpress中显示具有特定日期和特定类别的帖子的文本

  17. 17

    更改wordpress小部件显示特定post_tag而不是特定类别的帖子

  18. 18

    在 Wordpress 中居中特色图像

  19. 19

    Wordpress 自定义帖子类型显示类别的图像

  20. 20

    wordpress-显示所选类别的父类别

  21. 21

    创建“查看所有帖子”链接以显示来自WordPress中特定类别的所有帖子

  22. 22

    来自特定WordPress类别的帖子未显示在Timber / Twig for loop中

  23. 23

    相同类别的帖子或图像的Wordpress / jQuery Hover效果

  24. 24

    如何显示WordPress中某个类别的第二和第三最新帖子

  25. 25

    如何在 Wordpress 主页上仅显示两个类别的帖子?

  26. 26

    显示类别WordPress的帖子

  27. 27

    显示顶级 wordpress 类别

  28. 28

    Wordpress:如何创建包含具有1个特定类别的帖子的外部页面或文件?

  29. 29

    Wordpress:如何使用自定义查询获取不包含特定类别的帖子

热门标签

归档