【问题标题】:Get image by name in wordpress在wordpress中按名称获取图像
【发布时间】:2016-12-13 04:41:12
【问题描述】:
我想制作一个自定义背景图片,女巫每天都会更换,带有原始来源的 url。
例如:
img name 346.jpg
$dayofyear = date('z');
$dayofyear = Get image by name in wp?
background-image: url(<? php echo $dayofyear; ?>)
谢谢,对不起我的英语:D
【问题讨论】:
标签:
php
css
wordpress
image
【解决方案1】:
您上传到媒体库的每张图片都使用扩展名之前的文件名,因为它是 slug。
您可以使用 get_posts 函数并传入 $dayofyear:
function get_attachment_url_by_slug( $slug ) {
$args = array(
'post_type' => 'attachment',
'name' => sanitize_title($slug),
'posts_per_page' => 1,
'post_status' => 'inherit',
);
$_background = get_posts( $args );
$background = $_background ? array_pop($_background) : null;
return $background ? wp_get_attachment_url($background->ID) : '';
}
这将返回您尝试通过它的 slug 获取的图像的 ID。
如果您在页面或帖子模板中执行此操作,您将使用:
$dayofyear = date('z');
$background_url = get_attachment_url_by_slug($dayofyear);
然后设置元素的内联样式,例如:
<div style="background-image: url(<? php echo $background_url; ?>);"></div>
如果您尝试将其注入样式表,这将不起作用。