我正在使用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!');
}
});
答案 0 :(得分:1)
其中一条评论提示,我在JSON-API插件文件中找到了我需要的东西。
如果您查看json-api/models/post.php
,则会显示一个函数set_content_value()
,其中显示了插件在内容中的位置。在这里你可以根据需要修改它,在我的情况下,我用它来删除Wordpress remove_shortcode()
函数的某些短代码
答案 1 :(得分:0)
只要您的插件向客户提供内容,您就可以使用remove_shortcode功能吗?
你能给我们你插件的名字/网址吗? 也许一些代码也不会受到伤害。您是否介意使用您的phonegap应用程序的API请求代码段?
感谢。