如何停止博客索引页面上的特色图片缩略图[设置为背景图片]只是在所有帖子中重复相同的图片

时间:2018-08-20 作者:Moose

如何停止博客索引页上的特色图像缩略图[设置为背景图像]在所有帖子中重复相同的图像:

我这里有代码:

add_action( \'wp_head\', \'set_featured_background\', 99);
function set_featured_background() {
    if ( has_post_thumbnail() ) { 
        $featured_img_url = get_the_post_thumbnail_url(get_the_ID(),\'full\');
        ?>
        <style>
        .has-post-thumbnail {
            background-image: url(\'<?php echo $featured_img_url ?>\');
            background-size: 100% 100%; 
        }
        </style>
        <?php
    }
}
我尝试了一些不同的变体,但jsut总能找到最新的帖子图片,并在所有帖子中使用。我是否需要检查一下,确保每个独特的帖子都做同样的事情。例如:如果此帖子具有唯一ID,请查找其缩略图并作为样式应用。或者是因为我试图将其添加到css类中,而该类具有应用于所有帖子的帖子缩略图?[有缩略图的]

2 个回复
SO网友:nmr

还是因为我想把它添加到css类中.has-post-thumbnail 哪个适用于所有职位?

set_featured_background() 从循环中获取第一篇帖子并添加.has-post-thumbnail 到样式。所有有缩略图的帖子(带类.has-post-thumbnail) 将具有相同的背景。

尝试在负责在主页上显示帖子的模板文件中设置背景,可能是在content.phpfront-page.php.

<?php
    $attr_style= \'\';
    if ( is_home() && has_post_thumbnail() ) {
        $url = wp_get_attachment_url( get_post_thumbnail_id($post->ID) );
        $attr_style = \' style="background: url(\'. $url.\'); background-size: 100% 100%;" \';
    }
?>
<article id="post-<?php the_ID(); ?>" <?php post_class(); echo $attr_style; ?>>

SO网友:Bernhard Henselmann

我会尝试使用帖子的ID(应该是文章标记的ID或类的一部分)作为样式的附加选择器:

<style>
    #post-<?php the_ID();?>.has-post-thumbnail {
        background-image: url(\'<?php echo $featured_img_url ?>\');
        background-size: 100% 100%; 
    }
</style>
    

结束

相关推荐

如何编辑特定帖子的php/html?

我是Wordpress的新手,但我对html/php编码很在行,希望在我的一些帖子上创建自定义表单。我的网站当前正在本地主机上运行。我觉得自己很傻,因为我一直在/var/html 我花了很长时间试图找出我可以在哪里编辑一个名为“我的个人资料”的页面。我想看到一些自动生成的my_profile.php 文件之类的。页面本身标识为page_id=10 , 但我什么都没看到page_id 在文件结构中。“我的个人资料”代码在哪里?