我为WordPress(4.4.2)构建了一个自定义主题。我使用标准的内置编辑器来创建帖子。如果我使用标题和段落以及图像创建帖子,则会显示内容(图像也是如此)。但是,如果我只是输入标题并在编辑器的内容区域中,我只留下没有更多文本的图像,它将不会显示在网站上。
<?php if (have_posts()) : while (have_posts()) : the_post();?>
<div class="container-fluid site-content content-area" role="main">
<div class="container">
<?php if (!empty_content($post->post_content)) :?>
<div class="content row col-md-10 xcentered">
<?php the_content(); ?>
</div>
<?php endif; ?>
</div>
</div>
<?php endwhile; endif; ?>
我也尝试了没有if语句的代码,但是the_content()没有显示没有任何其他内容的图像。
除了div.container之外的所有内容都会被渲染。只要在图像标题之前/之后添加一个字符,就会呈现字符和图像。
我必须做出哪些改变?为什么图像无法识别&#34;独立&#34;?
答案 0 :(得分:1)
您正在使用的函数'empty_content',您在问题的评论中提供了该函数:
<img src="someimg.png">
当我将<div>
放入此函数时,它返回true,表示您的function empty_content($str) {
return trim(str_replace(' ','',strip_tags($str))) == '';
}
$only_img = '<img src="someimg.png">';
$img_and_more = '<img src="someimg.png"><p>Some other stuff</p>';
var_dump(empty_content($only_img));
var_dump(empty_content($img_and_more));
未呈现。
这正是您所描述的行为。
尝试http://phpfiddle.org/以下代码:
$only_img
您将看到true
变量转储到$img_and_more
并且vim
转储为false。