在php中为css获取背景图像的正确方法是什么?
问题描述:
I have the following function that I'm trying to use to get an image in the same directory as the plugin but inside the images folder.
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>
its is taken from the following, which works fine. yes "/" works.
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>
What am I doing wrong?
答
Is this what you are looking for?
https://developer.wordpress.org/reference/functions/plugin_dir_path/
https://codex.wordpress.org/Function_Reference/plugins_url
Maybe next time also point out whats the result of the 'not working' one
Why its not working?
Dirname will return abs path, which if you try to access from browser will not resolve. The path you want is relative to wp root.