使用快捷码解析POST请求(包含来自前端表单的数据)

时间:2013-03-14 作者:Nown

我想允许我的订阅者发布分类广告,这只是一种定制的帖子类型,价格上有一些Meta等等(我尝试过的现有分类广告插件对于我的需求来说太复杂了)我想知道以下内容是否有意义。

我定义了一个显示表单的[分类广告表单]快捷码,并创建了一个页面(即管理部分的“页面”帖子)来调用它。

表单内容被发布到另一个页面,该页面调用[句柄分类]快捷码,检查用户是否登录,解析$\\u POST数据,并插入自定义帖子(状态为“挂起”,直到管理员验证)。

这听起来合理吗?或者你会推荐一种更“标准”的方法吗?

非常感谢!

1 个回复
最合适的回答,由SO网友:fuxia 整理而成

始终将提交内容发送到表单显示的页面。然后,您可以在快捷码回调中显示正确的错误或成功消息。

示例:

add_shortcode( \'classifiedsform\', \'classifiedsform_callback\' );

function classifiedsform_callback()
{
    if ( \'POST\' !== $_SERVER[\'REQUEST_METHOD\'] 
        or ! isset ( $_POST[\'classifieds\'] )
    )
    {
        return classifieds_input_form();
    }

    // process input show errors or success message

}

function classifieds_input_form()
{
    // return a string with the form HTML
}
确保您不使用reserved variable 否则WordPress会自动删除内容。

结束

相关推荐

SHORTCODE_ATTS-一个URL变量不起作用

我开发了一个基于短代码的小插件。下面是一个简化版的代码,用于短代码本身:function lishortcode($liatts) { extract(shortcode_atts(array( \"li\" => get_option(\'li\'), ), $liatts)); foreach ($liatts as $key => $option) { $li[$key] =