如何在WordPress中进行异步查询?

时间:2017-12-20 作者:sal-k

有没有办法对wordpress进行异步查询,在那里我可以使用wordpress函数

例如:
我在插件文件中制作add_post.php 其中包含:

if($_POST[\'new_post\'] == true) 
    wp_insert_post( $_POST[\'post_data\'] );
我使用ajax发送查询来执行上述代码
其中wp_insert_post() wordpress函数是否在中定义wp-includes/post.php.

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

有没有办法对wordpress进行异步查询,在那里我可以使用wordpress函数?

是的,但它是:

超级易碎易断是一个很大的安全问题strongly 建议不要这样做,并会认为让它工作所需的修复是不负责任的分享。

Instead, save yourself a world of pain and use a REST API endpoint, 或者官方的AJAX API,例如。

// add the endpoint
add_action( \'rest_api_init\', function () {
        register_rest_route( \'salk/v1\', \'/test/\', array(
                \'methods\' => \'POST\',
                \'callback\' => \'salk_rest_test\'
        ) );
} );

function salk_rest_test( $request ) {
    // do things here
    // access POST things like this $request[\'post_data\']
    // anything you return gets json encoded and sent back to the browser
}
放置在插件或主题函数文件中,然后使用jQuery.post 使用URLexample.com/wp-json/salk/v1/test/

更好的是,WordPress已经在/wp-json/wp/v2/posts 如果您登录,可以使用它从前端创建帖子

结束