仅挂钩到JSON API的内容过滤器(_C)

时间:2014-07-22 作者:robobobobo

我正试图找出一种从JSON输出中删除短代码的方法,我正在使用Wordpress JSON API 对于

我需要在之前删除内容中的短代码do_shortcode 将导致短代码渲染。原因是他们会闯入我的移动应用程序(他们引用了各种js等,而不是在应用程序中)

我找到了一个Strip Shortcodes 我可以连接到的函数the_content 过滤器,因为插件在将其编码为JSON之前应用了这些过滤器。但是,只有在处理json信息请求时,我才能这样做,因为我不想删除一般站点上的短代码。

我知道我可以检查is_single()is_home() 但我看不到任何类似的东西可以告诉我它是否用于JSON输出。

我是否可以判断是否存在,以便选择何时使用strip shortcodes函数?

我考虑的一件事是检查url,看看是否json 但我希望能有更强大的东西?

2 个回复
SO网友:Rarst

你的问题不在于过滤内容太多,而在于内容对上下文的假设太多,而在于做内容实际上不应该做的事情。你读这本书时,文本不会决定自己的颜色,而是决定自己的颜色。

我建议考虑将内容与活动上下文特定功能分离。您仍然可以使用短代码,但与其主动向页面输出JavaScript,不如更灵活一些,并为JS设置一些“标志”以在页脚中输出,等等。

SO网友:robobobobo

通过修改插件的一个核心文件最终解决了这个问题

如果您查看json api/models/post。php有一个函数set\\u content\\u value(),它显示插件将内容拉入的位置。在这里,您可以根据需要修改它,在我的例子中,我使用它通过Wordpress remove\\u shortcode()函数删除某些短代码

结束

相关推荐

使用JSON API实现Backbone.js以检索类别帖子

Note: 在解决了我原来的问题后,我重新制定了这篇文章,因为我立即遇到了另一个可以放在同一标题下的问题。首先,我将总结第一个问题和我的解决方案,然后继续第二个问题我的Wordpress 3.8安装设置为与Jetpack的JSON API配合使用。但是我的脊梁骨。js GET请求被取消(由Google Chrome的网络面板指示)。此外,我在控制台中得到了以下报告:XMLHttpRequest cannot load http://public-api.wordpress.com/rest/v1/site