wp_insert_post上的“未定义索引:路径”

时间:2014-07-13 01:41:56

标签: php wordpress

我正在尝试使用PHP创建一个Wordpress帖子,而且出了问题,我无法理解。我的背景不是PHP,也没有向我发送回溯 - 只是这个错误本身:

Error: Undefined index: path

这是我的帖子创建代码:

function generate_query_args($campaign_id, $user_id) {
    $query_args = array(
        'post_parent' => $campaign_id,
        'post_author' => $user_id,
        'posts_per_page' => -1,
        'post_status' => 'publish', /*array('publish'),*/
        'paged' => '',
        'log_type' => 'sale',
        'post_title' => 'Autogenerated by Heroku setup',
        'post_content' => '',
        'post_excerpt' => '',
        'tax_query' => array(
            array(
                'taxonomy' => 'edd_log_type',
                'field' => 'slug',
                'terms' => 'sale'
            )
        )
    );
    return $query_args;
}

$post_id = wp_insert_post(generate_query_args($campaign_id, $user_id));

据我所知docs,我正在做我应该做的一切。

更新

这是我运行和看到的全部内容:

>> $post_id = wp_insert_post($query_args, true);
Error: Undefined index: path

我正在使用Wordpress console

更多信息:

WordPress 3.9.1运行Fundify儿童主题主题。

插件(有很多插件,不是我的WP网站):

Admin Bar Disabler,Akismet,Astoundify by Crowdfunding Custom Fields,BAW登录/退出菜单,即将推出,CRED前端编辑,Crowndfunding by Astoundify,Dropifi联系小工具,轻松数字下载,轻松数字下载 - 记录测试付款,Easy Digital下载 - Stripe支付网关,Google Analytics for GooglePress,Gravity Forms,Gravity Forms +(更多)Stripe,Gravity Forms + Stripe Connect,Gravity Forms MailChimp Add-On,​​模块管理器,Nav Menu菜单角色,Peter的登录重定向,限制Content Pro,限制内容专业版 - 数学验证,限制内容专业版 - Stripe,Revolution Slider,Seed Prod即将推出专业版,简单工具提示,Soundcloud短代码,TinyMCE高级版,类型,Visual Composer的终极插件,用户元短代码,Wordpress控制台,Wordpress SEO,WPBakery Visual Composer,WP视图

验尸: 最终,这可能是Console插件的一个错误,因为当我只是将代码作为Wordpress的一部分运行时,它最终工作。

1 个答案:

答案 0 :(得分:1)

wp_insert_post()应该像这样使用:

$post_data = array(
    'post_status'           => 'draft', 
    'post_type'             => 'post',
    'post_author'           => $user_ID,
    'ping_status'           => get_option('default_ping_status'), 
    'post_parent'           => 0,
    'menu_order'            => 0,
    'to_ping'               => '',
    'pinged'                => '',
    'post_password'         => '',
    'guid'                  => '',
    'post_content_filtered' => '',
    'post_excerpt'          => '',
    'import_id'             => 0
);

$post_id = wp_insert_post( $post_data );

有关$post_data数组中可包含内容的完整列表,请参阅:http://codex.wordpress.org/Function_Reference/wp_insert_post