【问题标题】:How can I put one or multiple echo inside other echo?如何将一个或多个回声放在另一个回声中?
【发布时间】:2020-07-14 03:19:24
【问题描述】:

我有这行:

<?php echo do_shortcode('[accordion id="delivery"] [accordion_item title="Delivery" parent_id="delivery"] XYZ [/accordion_item] [/accordion]'); ?>

而且我需要在上面的代码中放入下面的代码而不是 XYZ:

<br></br><i class="x-icon-truck" data-x-icon-s="&#xf0d1;" aria-hidden="true"></i>
    <?php echo get_post_meta( get_the_ID(), 'delivery_date_morroco', true ); ?>

你能指导我吗?

提前致谢

【问题讨论】:

  • 没有关于上述这些函数的任何其他信息,指南:“复制粘贴”,“php 中的 concat”,如果需要,可能还有“转义字符”
  • 将帖子元数据放入变量中,然后在短代码中连接变量

标签: php string echo


【解决方案1】:

如果你按照下面的方式做,你可以用一个回声来实现你想要的。

我们正在声明变量并使用字符串连接。

<?php
  $truck_icon = "<br></br><i class=\"x-icon-truck\" data-x-icon-s=\"&#xf0d1;\" aria-hidden=\"true\"></i>";
  $post_meta = get_post_meta( get_the_ID(), 'delivery_date_morroco', true );
  
  echo do_shortcode('[accordion id="delivery"] [accordion_item title="Delivery" parent_id="delivery"]' . $truck_icon . $post_meta . '[/accordion_item] [/accordion]'); ?>

【讨论】:

  • 是否必须存储到变量中?我们可以用 1 个长字符串来做吗? &lt;?php echo do_shortcode('[accordion id="delivery"] [accordion_item title="Delivery" parent_id="delivery"] &lt;br&gt;&lt;/br&gt;&lt;i class="x-icon-truck" data-x-icon-s="&amp;#xf0d1;" aria-hidden="true"&gt;&lt;/i&gt; ' . get_post_meta( get_the_ID(), 'delivery_date_morroco', true ) . '[/accordion_item] [/accordion]'); ?&gt;
  • 我们完全可以在 1 个长字符串中完成,我使用变量来提高可读性并希望使解决方案不那么混乱。
  • @camaulay 我注意到 $post_meta = ... 的 T_Variable 语法错误。
  • @BoykeFerdinandes 谢谢,您的代码有效,但我希望以 camaulay 所做的方式进行。
  • @OmidToraby 感谢您注意到该错误,我已经更新了我的帖子 - 我认为这是因为我错过了最后的分号。