WordPress函数和字符串作为变量?

时间:2016-10-14 作者:Galagargh

我正在创建一个将特色图像URL传递到单独的JavaScript文件的东西,该文件使用parallax.js 为存档页的每个条目创建视差背景。

当每篇文章都有一个图像时,这种方法效果很好。

我一直在努力创建一个默认图像,其中没有特色图像,但在指向它时遇到了问题。我想保持路径相对,这样当我上传到主机时,就不需要有绝对路径。

目前情况是这样的:

if ( has_featured_image() ) {
  $image_link_url = $featured_background_image;
} else {
  $image_link_url = get_template_url() . \'images/placeholder_bg.png\';
}
这不起作用。我怎样才能得到我想要的结果?理想情况下,希望函数结果和字符串作为变量中的一个字符串放在末尾。

3 个回复
最合适的回答,由SO网友:stims 整理而成

而不是

get_template_url()

使用者

get_template_directory_uri() 对于父主题

get_stylesheet_directory_uri() 对于子主题或父主题(如果不存在子主题)

注意:这将需要一条斜线,如下所示:

 $image_link_url = get_template_directory_uri() . \'/images/placeholder_bg.png\';

SO网友:Benoti

您可以使用has_post_thumbnail() 而不是has_featured_image()get_template_directory_uri() 而不是get_template_url().

if(has_post_thumbnail()){
    $image_link_url = wp_get_attachment_image_url( $post_thumbnail_id, $size );
}else {
$image_link_url = get_template_directory_uri() . \'images/placeholder_bg.png\';
}

SO网友:CodeMascot

据我所知,您希望显示一个默认图像,该图像存储在主题目录的文件夹中。因此,我认为您的代码应该稍微现代化一点-

if ( has_featured_image() ) {
    $image_link_url = $featured_background_image;
} else {
    $image_link_url = get_stylesheet_directory_uri() . \'/images/placeholder_bg.png\';
}
请尝试上述代码。我希望这会奏效。