我有这个javascript:
<script type="text/javascript">
$('.publish_post').click (function(){
var info = 'some info';
$.ajax({
type: "POST",
url: "../actions/addpost.php",
data: info,
success: function(data){
console.log(data);
}
});
})
</script>
我有一个名为addpost.php的文件,该文件位于WP的根安装文件夹中的actions文件夹中。
<?php
require('../wp-blog-header.php');
$post = array(
'comment_status' => 'closed',
'ping_status' => 'closed' ,
'post_category' => 1,
'post_content' => 'some content',
'post_name' => 'some post',
'post_status' => 'publish',
'post_title' => 'some post',
'post_type' => 'post'
);
$the_post_id = wp_insert_post( $post, $wp_error );
?>
问题在于:如果我删除require('../wp-blog-header.php');
我没有收到任何错误,否则我在控制台中收到此错误:
POST http://localhost/wp-content/themes/sometheme/actions/addpost.php 404 (Not Found)
但是我需要wp-blog-header.php来插入帖子。
UPDATE: addpost.php中的脚本会被执行,但是在发送答案时会出现错误。
有什么想法吗?
答案 0 :(得分:5)
将wp-blog-header.php包含在非wordpress页面中并不是一个好习惯。这就是您收到404错误的原因。
你应该尝试包括wp-load.php。