2014-07-01 67 views
0

新的WordPress和PHP。WordPress的:用簡碼包裝HTML/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> 

回答

0

你不能 「包」 一個簡碼左右PHP(除非您打算在它沒有做任何事情)。簡碼被設計用於產生客戶端代碼字符串(HTML,CSS,Javascript等)。我建議您查看shortcode API以瞭解如何使用簡碼生成您的輸出,而不是嘗試在其周圍包裝簡碼。

因此,舉個例子,假設您希望某些內容僅在一段時間後才顯示出來......您可以使用簡碼生成內容(HTML),並確保它具有「ID」或「CLASS 「一段JavaScript(或jQuery)正在尋找。當javascript看到「CLASS」時,它知道在將其更改爲阻止或諸如此類之前將其顯示設置爲無。

0

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

馬蒂

+0

感謝您的回答,但這不起作用。我認爲它與@Cleanshooter給出的答案有關。 – user1381806