如果没有精选图片,请隐藏部分

时间:2015-08-07 14:29:57

标签: php wordpress addclass

我为我正在制作的团队制作了一个自定义模板。我将此代码用于模板(以及获取页眉和页脚的部分)



<div class="main-container">
	<a href="#" id="top" class="in-page-link"></a>

<?php 
	the_post();
	
	$thumbnail = has_post_thumbnail();
	
?>

	<section class="section-header overlay preserve3d">
		
		<div class="background-image-holder parallax-background">
			<?php the_post_thumbnail('full', array('class' => 'background-image')); ?>
		</div>
		
	</section>

	<section>
		<div class="container">
			<div class="row">
			
				<div class="col-lg-12">
					<div class="article-body">
						<?php
							if(!( $thumbnail ))
								the_title('<h1>','</h1>');
								
							the_content();
							wp_link_pages();
						?>
					</div><!--end of article snippet-->
				</div>
				
				
			</div>
		</div>
	</section>
&#13;
&#13;
&#13;

但如果没有精选图片,则会出现一个灰色框。如果没有特色图片,我宁愿隐藏整个部分,因为它会看起来好多了。

我是一个php菜鸟,所以我不知道该怎么做。我认为我需要做的是:对特色图像进行if / else语句检查。如果没有图像,请在所述部分添加一个类,并定义“不显示”。在我的css文件中。

所以这是我尝试与之配对的代码,但它不起作用:

&#13;
&#13;
<?php
// Must be inside a loop.

if ( has_post_thumbnail() ) {
	the_post_thumbnail();
}
else {
	$("section:first").addClass("noshow");
}
?>
&#13;
&#13;
&#13;

这段代码不正确吗?我需要在哪里将其放在我的文档中才能使用?

1 个答案:

答案 0 :(得分:2)

在服务器上执行PHP时,会在用户端执行jquery。您总是可以回显该jquery语句,并将其发送给用户。

你可以按照马丁E.在他的评论中所说的路径(在我看来是一个更清洁的版本),或者你可以通过在你的标题上添加jquery来追求你的工作方式,如果你没有并尝试某些东西像这样:

<?php
if ( has_post_thumbnail() ) {
    the_post_thumbnail();
}
else {
    echo '<script>$("section:first").addClass("noshow");</script>';
}
?>