[英]Wordpress: Wrap HTML/PHP in a shortcode
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“包裝”一個短代碼(除非您計划不做任何事情)。 短代碼旨在產生客戶端代碼字符串(HTML,CSS,Javascript等)。我建議您查看一下短代碼API,以了解如何使用短代碼來產生輸出,而不是嘗試在其周圍包裝短代碼。
舉例來說,假設您希望某些內容僅在一定時間后才會顯示...您可以使用您的短代碼來生成內容(HTML),並確保其具有“ ID”或“ CLASS”的javascript(或jQuery)正在尋找。 當javascript看到“ CLASS”時,它會知道將其顯示設置為無顯示很多秒鍾,然后才將其更改為阻塞或類似狀態。
看看WordPress的頁面
http://codex.wordpress.org/Function_Reference/do_shortcode
echo do_shortcode('[iscorrect]'.$text_to_be_wrapped_in_shortcode.'[/iscorrect]');
在您的情況下,您可以將html添加到變量中,然后將其添加到即:
$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]');
馬蒂
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.