如何包含wp-blog-header.php更改文件位置?

时间:2012-03-13 22:42:53

标签: jquery ajax wordpress

我有这个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中的脚本会被执行,但是在发送答案时会出现错误。

有什么想法吗?

1 个答案:

答案 0 :(得分:5)

将wp-blog-header.php包含在非wordpress页面中并不是一个好习惯。这就是您收到404错误的原因。

你应该尝试包括wp-load.php。