事实上WP API (也被命名为WP REST API或WP JSON API就是为了实现这一目标(除了其他目标)。您可以在repo 和on GitHub.
“API”主要通过以下方式提供数据访问和(CRUD操作)GET
和POST
请求运行到/wp-json/
请求/URi。您可以获取几乎所有内容的帖子、帖子集、用户、媒体、评论和元数据。你得不到的东西是导入器和其他“工具”、仪表板小部件、主题或插件激活等。如果插件存在,插件必须添加自己的响应,或者你必须自己编写适配器。
该插件旨在成为下一个版本的WP核心的一部分。目前还没有达到这种程度,但发展仍在继续。
然而,要为~/wp-admin
, 您只需注册一个自定义端点,然后尝试在那里构建自己的(JavaScript)应用程序。在interwebs中,您会发现许多预先制作的管理界面框架(大多构建在Twitters Bootstrap、Foundation等基础之上),这些框架应该允许您在一到两天内构建一个非常粗糙的原型,其中包含大多数管理内容(取决于您的知识):
// Adds the \\WP_Rewrite endpoint
add_action( \'init\', function()
{
add_rewrite_endpoint( \'custom-route\', EP_NONE );
} );
// Adds your identifier for queries
add_filter( \'query_vars\', function( $vars )
{
$vars[] = \'custom-admin-identifier\';
return $vars;
} );
确保访问“管理”>“选项”>“永久链接”页面,然后刷新重写规则,或者注册一个激活或停用回调,以包装
flush_rewrite_rules()
.
那么你应该可以https://example.com/custom-route
在那里你可以做任何你喜欢的事。如果要在此处加载自定义模板,请跳到template_redirect
并加载它们:
add_filter( \'template_redirect\', function( $template )
{
# another option would to check:
# array_key_exists( \'custom-admin-identifier\', $GLOBALS[\'wp_query\']->query_vars )
if ( get_query_var( \'custom-admin-identifier\' ) )
return plugin_dir_path( __FILE__ ).\'templates/index.php\';
return $template;
} );
将加载
templates/index.php
从你的插件和服务。