我为我正在工作的团队制作了一个自定义模板。我将此代码用于模板(以及获取页眉和页脚 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/