在wordpress中按名称获取图像

时间:2016-12-13 04:41:13

标签: php css wordpress image

我想制作一个自定义背景图片,每天都会更改女巫,并使用url到原始来源。 例如:

img name 346.jpg 
$dayofyear = date('z');
$dayofyear = Get image by name in wp?
background-image: url(<? php echo $dayofyear; ?>)
对不起我的英语:D

1 个答案:

答案 0 :(得分:0)

您上传到媒体库的每张图片都使用扩展名之前的文件名作为它的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>

如果您尝试将其注入样式表,这将不会起作用。