【问题标题】:Wordpress add_option query returning blank parameterWordpress add_option 查询返回空白参数
【发布时间】:2015-07-10 21:08:59
【问题描述】:

我有一些显示 Wordpress 特征图像的代码。 如果未设置特征图像,则应显示默认图像。 出于某种原因,如果未找到特色图片,我的代码将返回 URL 参数的空白值。

所以输出代码显示为...

背景图片:url()

而不是

背景图片:url(http://website/image.jpg)

任何帮助表示赞赏。

<?php 
add_option( 'default_image', 'http://website/image.jpg', '', 'yes' );    
if (has_post_thumbnail( $post->ID ) ){
$image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'single-post-thumbnail' ); 
} else {
    $image = get_option( 'default_image' );
}
?>
<div class="news-image" style="background-image: url(<?php echo $image[0]; ?>);">

【问题讨论】:

  • 你在你的 $image var 上尝试过 var_dump() 吗?它输出什么?你的选择在数据库中吗?哦,顺便说一句,get_option() 返回一个混合值,但在你的情况下,你不必这样做 $image[0]$image 就足够了
  • 图像必须在数据库中?我不能使用常规 url 或链接到文件夹中的图像?如果我删除 [0] 它不起作用。
  • 我的意思是,您的选项“default_image”应该出现在您的数据库中的“选项”表中
  • 你能解释一下吗?我不确定你的意思。
  • 如果您可以访问您网站的数据库,请查看表“xxx_options”,并查看是否可以在“option_name”列中找到值“default_image”(xxx 代表您的db 前缀):你能给我们&lt;?php var_dump($image); ?&gt; 的输出吗?

标签: javascript php wordpress loops wordpress-theming


【解决方案1】:

经过一番讨论,看来 if (has_post_thumbnail( $post-&gt;ID ) ) 即使 $post 没有缩略图,也返回 true。

someone 似乎已经出现了这个问题。

在我们的例子中,这个问题是通过以下代码解决的:

<?php 
    add_option( 'default_image', 'http://website/image.jpg', '', 'yes' );

    $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'single-post-thumbnail' ); 

    if ( !$image ){
        $image[0] = get_option( 'default_image' ); 
    } 
?>
<div class="news-image" style="background-image: url(<?php echo $image[0]; ?>);">

希望对大家有所帮助

【讨论】:

  • 完美解决方案。再次感谢!
【解决方案2】:

这可能是因为您的图像变量从数据库返回时是一个字符串。你可以改变

$image = get_option( 'default_image' );

$image[0] = get_option( 'default_image' );

它应该可以工作。

【讨论】:

  • 不幸的是仍然返回空白网址。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-29
  • 1970-01-01
  • 2013-03-11
  • 1970-01-01
  • 1970-01-01
  • 2021-11-14
相关资源
最近更新 更多