php - 如果没有特色图片则隐藏部分

标签 php wordpress addclass

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

<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>

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

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

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

<?php
// Must be inside a loop.

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

此代码是否错误?我需要将其放在文档中的什么位置才能正常工作?

最佳答案

PHP在服务器上执行,而jquery在用户端执行。您始终可以回显该 jquery 语句,这样它将被发送给用户。

您可以遵循 Martin E. 在他的评论中所说的路径(在我看来这是一个更干净的版本),或者您可以通过在标题上添加 jquery 来追求您正在使用的方式(如果您还没有的话)并尝试一些东西像这样:

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

关于php - 如果没有特色图片则隐藏部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31880225/

相关文章:

php - 选择表中的最后一条记录

php - 从数据库中删除不能正常工作

css - 我可以减少子菜单之间的空间吗?

javascript - 使用 jQuery 根据文本内容按特定顺序对 div 重新排序

JQuery addClass和removeClass效率

javascript - Alert() 有效,而 elem.classList.add() 不会在 li 元素处添加类

php - SoapFault 异常 : Could not connect to host

php - 如何检查 10 亿行表中的表中是否存在记录

php - 如何在现有 CMS 旁边安装 Wordpress?

jquery - 我可以将delay(500)放在addClass()之前吗?