是否将POST中的所有短码数据提取到循环变量中?

时间:2011-08-13 作者:davidscolgan

我的客户希望有几个页面,他可以在其中编辑Wordpress页面的小而独立的部分。例如,左上角有一个详图索引框。右下角还有一小段显示联系人信息的文本。我希望能够在同一位置编辑所有这些文本片段。

我的想法是使用短代码构建一个帖子;类似这样:

[top-callout]
This is the top callout text.
[/top-callout]

[bottom-contact-info]
341 Address Rd.
City Comma State 23422
[/bottom-contact-info]

[other-text]
...
[/other-text]
等等。有没有办法将短代码的内容提取到循环变量中?这样,在主题php文件中,我可以执行以下操作:

<?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>
    ...
    <?php echo $post->top_callout; ?>
    ...
    <?php echo $post->bottom_contact_info; ?>
    ...
<?php endwhile; ?>
或者,有没有更好的方法?

1 个回复
SO网友:Bainternet

更好的方法是使用custom fields 因此,您可以使用get_post_customget_post_meta.

为了在客户端上更方便,您可以通过代码或使用类似的插件创建自己的元框verve meta box 使用单独的文本区域、输入字段甚至所见即所得编辑器。

结束

相关推荐

Nested Shortcode Detection

如果您熟悉此代码<?php $pattern = get_shortcode_regex(); preg_match(\'/\'.$pattern.\'/s\', $posts[0]->post_content, $matches); if (is_array($matches) && $matches[2] == \'YOURSHORTCODE\') { //shortcode is being used }&#