如果通过快捷码函数不存在特色图像,则为后备图像URL

时间:2015-09-15 作者:markratledge

我想做的是在这个短代码函数中添加一个回退图像,该函数可以获取特征图像,以解释帖子没有特征图像的可能性。(此函数创建一个短代码,因为我需要在另一个需要该短代码生成HTML显示的插件中使用它。)

我已经阅读了相关的问题,没有一个涉及到短代码或我需要的事实return 仅图像URL。

这将起作用并返回特征图像的URL:

add_action( \'init\', \'register_featured_image_shortcode\');

function register_featured_image_shortcode(){
add_shortcode(\'my_get_thumbsrc\', \'my_get_thumbsrc\');
}

function my_get_thumbsrc($id) {
global $post;
$id = ($id) ? $id : $post->ID;

if ( has_post_thumbnail($id)) {

$image_url = wp_get_attachment_image_src( get_post_thumbnail_id($id), \'inthenews-thumbnail\');

return $image_url[0]; // return just the url

}
}
这行不通;我得到一个空的<img src 页面源中的字段:

add_action( \'init\', \'register_featured_image_shortcode\');

function register_featured_image_shortcode(){
add_shortcode(\'my_get_thumbsrc\', \'my_get_thumbsrc\');
}

function my_get_thumbsrc($id) {
global $post;
$id = ($id) ? $id : $post->ID;

if ( has_post_thumbnail($id)) {

$image_url = wp_get_attachment_image_src( get_post_thumbnail_id($id), \'inthenews-thumbnail\');

return $image_url[0]; // return just the url
}
else  {
    return get_stylesheet_directory_uri() .\' /white-placeholder-200x100.png\';
}
}

So how to I add the fallback image white-placeholder-200x100.png with an else construct? Is return the wrong way to provide the URL? echo doesn\'t work.

1 个回复
最合适的回答,由SO网友:CK MacLeod 整理而成

首先,您在提供的代码中有一个输入错误:“白色占位符”之前的撇号和正斜杠之间有一个额外的空格

其次,在不详细检查底层逻辑的情况下,我可能会尝试使用else语句:

else {

$placeholder_image = get_stylesheet_directory_uri() . \'/white-placeholder-200x100.png\';

return $placeholder_image;

}

相关推荐

无法在模板函数.php中使用IS_HOME

我试图在标题中加载一个滑块,但只在主页上加载。如果有帮助的话,我正在使用Ultralight模板。我正在尝试(在template functions.php中)执行以下操作:<?php if ( is_page( \'home\' ) ) : ?> dynamic_sidebar( \'Homepage Widget\' ); <?php endif; ?> 但这行不通。现在,通过快速的google,我似乎需要将请