Wordpress:在短代码中包装HTML / PHP

时间:2014-07-01 14:26:12

标签: php wordpress

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>

2 个答案:

答案 0 :(得分:0)

你不能&#34;包装&#34;围绕PHP的短代码(除非你计划不做任何事情)。短代码旨在生成客户端代码字符串(HTML,CSS,Javascript等等)我建议查看shortcode API以了解如何使用短代码生成输出而不是尝试换行短代码在它周围。

因此,例如,让我们说您希望某些内容仅在一段时间后显示...您可以使用短代码生成内容(HTML)并确保它有一个&#34 ; ID&#34;或&#34; CLASS&#34;一段javascript(或jQuery)正在寻找。当javascript看到&#34; CLASS&#34;它知道在将它更改为阻止或类似之前将它的显示设置为无这么多秒。

答案 1 :(得分:0)

查看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]');

玛蒂