2013-06-05 130 views
0

嗨,大家需要幫助,非常糟糕。自定義文章中的自定義字段中的Wordpress短代碼

需要在下圖中以白色圈出的區域添加短碼輸出。

並且輸入區域在視頻描述下。根據我的理解,我已確認該文本區域的名稱是description_value。

我查看了每個文檔,並嘗試使用所有過濾器和do_shortcode變體無濟於事。請幫助我花了3天不停地這樣做。在我的function.php和其他許多代碼中調用代碼。它仍然不解析[短代碼]它只顯示文本「[短代碼]」。請參考下圖

謝謝。

這是輸出在頁面上。我有

<div class="describe-feat">[postexpirator]</div> 

這是在一個名爲電網gallery.js

<h2><%= item.title %></h2></div><div class="view-gallery">\ 
       <div class="describe-feat"><%=item.desc%></div>\ 
       <% if(item.imgnum){ %><span class="item-num"><%= item.imgnum %></span><% } %>\ 

這是自定義文章編輯器在WordPress管理區域

<textarea name="description_value" class="option-textarea">[postexpirator]</textarea> 

https://www.dropbox.com/s/almn09e1dwmeywb/shortcodxe.jpg

+0

你試過了do_shortcode嗎? – Bilal

+0

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

回答

1

這是因爲,你缺少解析簡碼的do_shortcode函數。

假設您只想定位一個值,您可以在循環內執行此操作。

<?php echo (do_shortcode(get_post_meta($post->ID , 'Your textarea Key Name' , true))); ?> 

如果您的文章有多個值對於自定義字段,那麼你可以在上面設置爲false ..和循環陣列上...

<?php $values = do_shortcode(get_post_meta($post->ID , 'Your textarea Key Name' , false)); ?> 
<?php if($values && is_array($values)) : ?> 
<?php foreach($values as $meta) : ?> 
<p><?php echo $meta ?></p> 
<?php endforeach; ?> 
<?php endif; ?> 
+0

嗨@phpdeveloper。在3天內,我瀏覽了近30個網站,閱讀了超過100個帖子。我仍然不明白髮生了什麼事情。您的回答之前曾嘗試過 - http://wordpress.org/support/topic/allowing-shortcode-in-custom-fields。 但是,我如何確保代碼正確運行,我把它放在哪裏。我把功能.php放在主頁文件中,該頁面將加載嗎?因爲我嘗試了所有這一切,它仍然不解析短代碼。我將'您的textarea密鑰名稱'替換爲description_value。它是否正確?非常感謝你的幫助,如果你能幫助我,我終於可以快樂死了 – vololo

0

只是想補充一點,如果你將不會使用the_post()沒有短代碼將工作, 當試圖在新的頁面類型上啓用CutomField上的短代碼時,我有這個問題,沒有任何工作,直到用the_post()激活WP循環。

相關問題