在添加自定义REST终结点时,将终结点函数放在哪里,将函数注册调用放在哪里?

时间:2017-05-19 作者:Rjak

WordPress文档、博客作者和StackExchange回答者在描述您为创建自定义REST端点而编写的代码方面做了大量工作,但我找不到任何文档能够准确描述代码的放置位置。

假设我有一个要返回字符串“foo”的端点。根据我的阅读,我实现了如下功能:

function my_foo() {
    return "foo";
}
我用如下调用注册函数:

add_action( \'rest_api_init\', function () {
    register_rest_route( \'mycompany/v1\', \'/foo/\', array(
            \'methods\' => \'GET\',
            \'callback\' => \'my_foo\'
    ) );
} )
这没有什么困难,但就我的一生而言,我不知道该把这些放在哪里。

对于REST端点,我假设将函数放在以下位置的文件中:

wp-json/mycompany/v1/foo.php
但很高兴能确定。

至于add_action() 打电话我也很难找到电话的去向。

文档here 未能描述这些调用应该位于何处,正如文章所述here (以及我找到的许多其他来源)。

如果有人能指出这些位置是在哪里记录的,或者我前面遗漏了什么,那就太好了!

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

如果您正在开发一个主题,如果您的主题functions.php 文件这是在访问您的网站时肯定要运行的文件。

如果您正在开发插件,可以将代码放入php文件中(如foo.php) 然后在模板中包含/要求它,以适合您的需要为准。

请勿保存或更改wp-content 文件夹或您的插件。这些将被WordPress更新覆盖,并且有可能被一些反恶意软件插件/服务器应用程序识别为恶意软件。

实际上,您可以将代码直接放在插件的核心文件中,但我更喜欢对函数进行分类,以防以后需要快速访问或修改它们(个人意见)。

结束

相关推荐

在AJAX插入后初始化TinyMCE编辑器/可视化编辑器

我在自定义选项页面上有一个“repeater”样式的字段组。有一个处于隐藏状态的活动可视化编辑器,当用户单击“添加新内容”时,整行将被克隆。然后,我需要初始化克隆行中的可视化编辑器。我的代码:$(\'.repeater-add-new\').click(function(event) { event.preventDefault(); var target = $(this).data(\'repeater\'); $( \'#\' + target).fi