自定义帖子类型中自定义字段中的Wordpress Shortcode

时间:2013-06-05 05:00:29

标签: wordpress wordpress-plugin wordpress-theming shortcode

嗨,大家非常需要帮助。

需要在下图中白色圆圈区域的输出中添加短代码。

输入区域在视频描述下。根据我的理解,我已经确认该文本区域的名称是description_value。

我查看了所有文档并尝试了所有过滤器和do_shortcode变体无济于事。请帮助我花了3天不停地这样做。在我的function.php和其他许多其他代码中输入代码。它仍然不解析[shortcodes]它只显示文本“[shortcodes]”。请参考下面的图片

谢谢。

这是在页面上输出的。我有

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

这是一个名为grid-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

2 个答案:

答案 0 :(得分: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; ?>

答案 1 :(得分:0)

只想添加一下,如果你不使用the_post(),没有短代码可以工作, 尝试在新页面类型上启用CutomFields上的短代码时遇到此问题,在使用the_post()激活WP循环之前没有任何工作。