php - 在wordpress中按名称获取图像

标签 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

最佳答案

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

如果您试图将其注入(inject)到样式表中,这将不起作用。

关于php - 在wordpress中按名称获取图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41113847/

相关文章:

php - Laravel 已弃用 beforeFilter

php - 拆分一个字符串,不包括一些字符

javascript - 从 .js 文件中提取动态菜单并在 html 中显示

jquery - 使用 jQuery 自行调整导航菜单大小的最简洁方法

php - 尝试从数据库中选择 WooCommerce 值时出现 mysqli_fetch_assoc 错误

PHP - 根据用户在新页面上的选择显示 MySQL 数据

php - 在 laravel 或 Php 的搜索字段中显示 Json

html - 具有不透明度的 CSS 元素与 html5 视频重叠

php - 按钮选择要使用的样式表

javascript - Ajax 调用返回整个页面