我想为我的索引页上的摘录做一个条件陈述。如果没有手动摘录,我希望保存摘录的 divdispaly:none
<div class="excerpt"><?php if(!empty($post->post_excerpt)) {
//This post have an excerpt, let's display it
the_excerpt();
} else {
// <div class="excerpt" display:none?>
我会亲自使用内联 if 语句
<div class="exerpt" <?=((empty($post->post_excerpt)) ? 'style="display:none;"' : NULL)?> >
<?=the_exerpt()?>
</div>
所以 html只有在为真style="display:none;"
时才适用empty($post->post_exerpt)
如果您不想使用内联 if 语句,您可以执行以下操作:
<?php
$style = NULL;
if(empty($post->post_exerpt()))
{
$style = ' style="display:none;" ';
}
?>
<div class="exerpt" <?=$style?> >
<?=$the_exerpt()?>
</div>
div
虽然,如果它只是要被隐藏,你为什么要打印呢?
为什么不:
<?php
if(!empty($post->post_exerpt()))
{
?>
<div class="exerpt">
<?=$the_exerpt()?>
</div>
<?php
}
?>
这样,只有在有内容时才添加 div,如果没有,则将 div 一起忽略
只需在每种情况的(行)中以不同的方式渲染 div:
<?php if(!empty($post->post_excerpt)) {
?><div class="excerpt"><?php
//This post have an excerpt, let's display it
the_excerpt();
?></div><?php
} else {
?><div class="excerpt" style="display: none;" /><?php
} ?>
在这种情况下,您也可以删除该else
部分,然后如果有摘录并且甚至不可见,它就会被渲染。
我想不出为什么这不起作用的任何原因。除非您有一个创建手动摘录的插件。有时基于搜索的插件会这样做。
global $post
if(!empty($post->post_excerpt)) {
the_excerpt();
} else {
// whatever
}
<div class="exerpt" style="display:none;">
<div class="exerpt" <?php if(empty($post->post_excerpt)) { ?> style="display:none;" <?php }?> >
<?php the_exerpt()?>
</div>