基于标签更改背景图像

时间:2020-04-29 作者:JoBe

我非常需要一些php脚本帮助。

我的诵读困难症使我依赖于已经写好的剧本和他人的帮助。

我发现一个网站有一个简短的脚本,可以根据帖子的标签改变背景,但他们想要55美元,而我没有那么多钱。

所以我想要的是一个脚本来添加到函数中。php,如果一篇文章有标签“red 001”,它将使用/img/red001。jpg作为背景,如果帖子中的标签是“blue 003”,它将使用/img/blue003.jpg作为背景。

对于一个普通的程序员来说,这需要5分钟,但我自己做不到,有人能帮我吗?

1 个回复
最合适的回答,由SO网友:JoBe 整理而成

我实际上已经修复了一个解决方案,这个解决方案在帖子中使用了一个自定义字段,并基于此,将背景加载到帖子中。

为了解决背景图像上不同格式的问题,我得到了(不记得名称)的帮助,编写了一段代码,它首先尝试加载背景。jpg,如果失败,它将加载后台。gif等。因此,通过将此代码添加到函数中。php,就可以了

// set background based on custom field in post
    function rbpet_post_background () {

        if ( empty( $background = get_post_meta( get_the_ID(), \'usp-custom-background_image\', true ) ) ) return;
        $base = "https://example.com/img/backgrounds/";
        $extensions = array( ".jpg" , ".gif" , ".mp4" );

        foreach ( $extensions as $ext ) {

            $file = $base . $background . $ext;
            $file_headers = @get_headers( $file );
            if ( $file_headers[0] == "HTTP/1.1 200 OK" ) {
                $background_url = $file;
                break;
            }

        }

       if ( empty( $background_url ) ) return;
    ?>
        <style type="text/css">
                body { background-image: url( "<?php echo ($background_url); ?>")!important; 
    background-size: cover; 
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-position: center center;
    max-width: 100%;
    height: auto;

    }
            </style>
    <?php
    }

    add_action( "wp_head" , "rbpet_post_background" );

相关推荐

将PHP代码注入“侧边栏内容”--在我的WooCommerce侧边栏小部件之前的代码?

我正试图在WooCommerce产品页面侧边栏内容之前添加一些PHP代码,但我一直找不到该在哪里添加这些代码。我试过编辑侧边栏。php,使用“woocommerce\\u侧边栏”挂钩,但无法实现此功能。我只是希望在中的小部件内容上方可以看到一些PHP代码<div class=\"sidebar-content\"有人有简单的解决方法吗?get_sidebar( \'shop\' ); 正在调用shop,但如何在其中获取一些额外代码?