Wordpress:向单个帖子页面添加 if 语句会忽略我的部分,但会显示该部分中的内容

Posted

技术标签:

【中文标题】Wordpress:向单个帖子页面添加 if 语句会忽略我的部分,但会显示该部分中的内容【英文标题】:Wordpress: adding an if-statement to a single post page ignores my section, but displays what is in the section 【发布时间】:2019-02-12 21:46:06 【问题描述】:

对于模糊的标题,我很抱歉。

我有一个名为“服务”的自定义帖子类型。 single-service.php 现在总是将相同的表单(在 Contactform7 中制作)添加到每个服务的漂亮部分,看起来与页面的其余部分有点不同。这很好用,但我希望有可能为不同的服务使用不同的表单,或者有一个没有表单的服务。 我在服务帖子类型中添加了一个带有 ACF (service_booking) 的自定义字段,您可以在其中放置所需表单的简码,或者如果该服务不需要表单,则将其留空,因此我添加了一个 if 语句这样做。

<div class="col-md-6  wow animated fadeInRight">
<?php
the_field('service_description');
?>


<?php $form = the_field('service_booking');
 if (!empty($form)) 
?>

<a href="#booking" class="btn btn-primary bookbutton">Book now</a>

  </div>
 </div> 
</div>
</section>

<section id="booknow">
 <div class="container"><div class="row">
  <div class="col-md-12">
   <div class="book" id="booking">
    <div class="row">
     <div class="col-12 wow animated fadeInUp text-center">
      <h2>Booking</h2>
     <hr></div>
    </div>
    <?php the_field('service_booking');?>
   </div>
  </div>
 </div>
</div>
</section>

<?php 
else ?>
    </div>
   </div>   
  </div>
 </section>
<?php ;

所以我想隐藏引导您进入表单的按钮,当没有表单时,只需关闭第一部分而不是添加新部分。我省略了之前的代码,因为它不相关。

没有表单时一切正常,但是当有表单时,进入表单的按钮没有出现,表单的 h2 没有出现并且表单放在第一部分,不知何故完全忽略了第二部分。当我拿走 if 语句时,这些东西再次可见,所以我的 css 确实在工作。

我做错了什么?

我尝试了不同的形式,但同样的问题不断出现。 这是我用来测试它的随机形式:

<label> Je naam (verplicht)
[text* your-name] </label>

<label> Je e-mail (verplicht)
[email* your-email] </label>

<label> Onderwerp
[text your-subject] </label>

<label> Je bericht
[textarea your-message] </label>

[submit "Verzenden"] 

我的表单之后的东西都很好了,页脚显示得很好等等。

我希望一切都清楚。谁能帮我解决这个问题?

【问题讨论】:

【参考方案1】:

根据 ACF 文档 the_field 函数显示字段的值而不是返回它,因此您不能将其分配给变量。您应该改用get_field 函数。

$form = get_field('service_booking');

您还应该仔细检查div 元素,以确保您没有多余或遗漏的关闭标签,否则您的网站由于 html 结构问题而无法正确加载。

【讨论】:

以上是关于Wordpress:向单个帖子页面添加 if 语句会忽略我的部分,但会显示该部分中的内容的主要内容,如果未能解决你的问题,请参考以下文章

WordPress向提要添加帖子缩略图

Wordpress向RSS提要添加帖子缩略图

WordPress中具有自定义帖子类型的单个页面的层次结构

wordpress MIME 类型帖子附件的 if 语句

PHP WordPress - 当搜索查询返回单个结果时,重定向到帖子而不是归档页面

将当前类添加到Wordpress导航菜单中的单个帖子