在Wordpress中收到JSON请求时如何判断?

时间:2014-08-17 18:41:56

标签: json wordpress json-api

我正在使用JSON API plugin wordpress来允许我使用我正在构建的phonegap应用程序中的网站内容。

然而,由于网站上某些内容的复杂性(由输出图形,滑块等的短代码引起),这些内容不适合在移动应用中显示。我需要从JSON输出中删除短代码。

我发现我可以在wordpress中挂钩the_content过滤器并使用remove_shortcode取出必要的短代码。但问题是,当我通过浏览器访问json url时,我才能这样做。

例如,我可以使用http://example.com?json=1返回最近的帖子。如果我在我的网址栏中输入此内容,我可以解析网址,确定json=1是否存在并删除短代码。

但是,当我从我的移动应用程序执行ajax(JSONP)请求时,它似乎无法检查json参数的URL,因此我的短代码不会被剥离。由于我相信JSONP请求的性质,我甚至无法传入任何标题,因为它们不会成功。

有没有人知道我何时能够知道何时收到来自我的移动应用程序的JSON请求,以便我可以删除短代码?

这样的东西
if(is_json()){
//remove shortcodes
}

在它提出之前,我已在Wordpress Stackexchange上问过这个问题,但无济于事

更新: 这是我用于移动应用程序的ajax请求的代码

  $.ajax({
                    url: "http://www.example.com/?json=1",
                    dataType: "jsonp",
                    async: true,
                    success: function(result) {
                        app.populate(result)
                    },
                    error: function(request, error) {
                        alert('Network error has occurred please try again!');
                    }
                });

2 个答案:

答案 0 :(得分:1)

其中一条评论提示,我在JSON-API插件文件中找到了我需要的东西。

如果您查看json-api/models/post.php,则会显示一个函数set_content_value(),其中显示了插件在内容中的位置。在这里你可以根据需要修改它,在我的情况下,我用它来删除Wordpress remove_shortcode()函数的某些短代码

答案 1 :(得分:0)

只要您的插件向客户提供内容,您就可以使用remove_shortcode功能吗?

你能给我们你插件的名字/网址吗? 也许一些代码也不会受到伤害。您是否介意使用您的phonegap应用程序的API请求代码段?

感谢。