簡體   English   中英

WordPress:用短代碼包裝HTML / PHP

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM