【问题标题】:What is the proper way to get background-image in php for css?在 php 中为 css 获取背景图像的正确方法是什么?
【发布时间】:2019-03-24 20:00:21
【问题描述】:

我尝试使用以下函数在与插件相同的目录中但在图像文件夹中获取图像。

function my_login_logo() { ?>
<style type="text/css">
    #login h1 a, .login h1 a {
        background-image: url(<?php echo dirname(__FILE__); ?>/images/logo3.png);
    height:65px;
    width:320px;
    background-size: 320px 65px;
    background-repeat: no-repeat;
        padding-bottom: 30px;
    }
</style>

它取自以下内容,效果很好。是的“/”有效。

function my_login_logo() { ?>
<style type="text/css">
    #login h1 a, .login h1 a {
        background-image: url(<?php echo get_stylesheet_directory_uri(); ?>/images/site-login-logo.png);
    height:65px;
    width:320px;
    background-size: 320px 65px;
    background-repeat: no-repeat;
        padding-bottom: 30px;
    }
</style>

我做错了什么?

【问题讨论】:

  • 渲染出来的css是什么样子的(右键->查看源码)?
  • url 路径周围不应该有' 吗?
  • 使用dirname(__FILE__),您可以获得来自服务器文件系统根目录的绝对路径(例如/var/www/html/images/logo3.png)。要在 CSS 中使用它,您需要来自网络服务器文档根目录的相对路径,这是一个不同的路径。比如图片在/var/www/html/images/logo3.png,webserver的文档根目录是/var/www/html,就需要在CSS中使用/images/logo3.png
  • 好的,那么如何获取插件路径的URI呢?
  • 我不确定 Wordpress 是否有它的功能。如果没有,您可以尝试this question的答案中的一种方法

标签: php wordpress function file directory


【解决方案1】:

这是你要找的吗?

https://developer.wordpress.org/reference/functions/plugin_dir_path/

https://codex.wordpress.org/Function_Reference/plugins_url

也许下次还指出'不工作'的结果是什么

为什么它不起作用?

Dirname 将返回 abs 路径,如果您尝试从浏览器访问将无法解析。你想要的路径是相对于 wp root 的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-16
    • 1970-01-01
    • 2014-08-30
    • 2011-08-09
    • 1970-01-01
    • 2014-11-09
    • 1970-01-01
    • 2015-09-09
    相关资源
    最近更新 更多