【问题标题】:Wordpress: Wrap HTML/PHP in a shortcodeWordpress:将 HTML/PHP 包装在简码中
【发布时间】:2014-07-01 14:26:11
【问题描述】:

wordpress 和 PHP 新手。

如何将这个短代码包装在一些 HTML/PHP 周围?我试过使用 do_shortcode 但这没有用。

<?php echo do_shortcode( [timed-content-rule id="101"] ) ?> 

<?php echo do_shortcode( [/timed-content-rule] ) ?>

PHP/HTML

<?php
$rows = get_field('breakfast');
$row_count = count($rows);
$i = rand(0, $row_count - 1);

?>

<h1>
    <?php echo $rows[ $i ]['dish_name']; ?>
</h1>
<p>
   <?php echo $rows[ $i ]['dish_description'];  ?>
</p>
<h3>
    Served<span><?php echo $rows[ $i ]['time_served'];  ?></span>
</h3>

【问题讨论】:

    标签: php wordpress


    【解决方案1】:

    你不能在 PHP 周围“包装”一个短代码(除非你打算让它不做任何事情)。简码旨在生成客户端代码字符串(HTML、CSS、Javascript 等)我建议查看shortcode API 以了解如何使用简码来生成输出,而不是尝试将简码包装在它周围.

    例如,假设您希望某些内容仅在一定时间后显示...您可以使用短代码生成内容 (HTML) 并确保它具有“ID”或“CLASS”一段javascript(或jQuery)正在寻找。当 javascript 看到“CLASS”时,它知道在将其更改为阻止或类似的东西之前将其显示设置为无这么多秒。

    【讨论】:

      【解决方案2】:

      看看wordpress页面

      http://codex.wordpress.org/Function_Reference/do_shortcode

      echo do_shortcode('[iscorrect]'.$text_to_be_wrapped_in_shortcode.'[/iscorrect]');
      

      在您的情况下,您可以将 html 添加到变量中,然后将其添加到 ie 中:

      $contentToShow = '<h1>'.$rows[ $i ]['dish_name'].'</h1>';
      $contentToShow.= '<p>'.$rows[ $i ]['dish_description'].'</p>';
      $contentToShow.= '<h3>Served<span>'.$rows[ $i ]['time_served'].'</span></h3>';
      
      echo do_shortcode('[timed-content-rule]'.$contentToShow.'[/timed-content-rule]');
      

      马蒂

      【讨论】:

      • 感谢您的回答,但这不起作用。我认为这与@Cleanshooter 给出的答案有关。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-11-03
      • 1970-01-01
      • 2021-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多