wp_insert_post()白屏/空白页

时间:2018-11-21 06:44:44

标签: wordpress hook custom-wordpress-pages

我正在从前端表单创建自定义帖子。 帖子已成功创建,但导致实现表单的白屏。

这是我的代码:-

$new_post_args = array(
                                'post_title'    => 'Lead is being updated',
                                'post_status'   => 'publish', 
                                'post_type'     => 'hg-rma',
                                'post_author'   => 4470,
                            );  

            $post_id = wp_insert_post($new_post_args);
            if($post_id)
            {
                $update_post_args = array(
                                            'ID'            =>  $post_id,
                                            'post_title'    =>  $post_id,
                                        );
                wp_update_post( $update_post_args );

上面的代码导致白屏/空白页,但是帖子是在后端创建的。但未按照上述代码进行更新。

当我将“ post_status”更改为草稿时,它起作用了。我认为这可能是功能问题。

下面是注册我的帖子类型的代码:-

add_action('init', 'hg_rma_post_type');
function hg_rma_post_type()
{
    $labels = array(
        'name' => 'HG RMA',
        'singular_name' => 'HG RMA',
        'menu_name' => 'HG RMA',
        'name_admin_bar' => 'HG RMA',
        'add_new' => 'Add New',
        'add_new_item' => 'Add New RMA',
        'new_item' => 'New RMA',
        'edit_item' => __('Edit RMA'),
        'view_item' => __('View RMA'),
        'all_items' => __('All RMA'),
        'search_items' => __('Search RMA'),
        'parent_item_colon' => __('Parent RMA:'),
        'not_found' => __('No RMA found.'),
        'not_found_in_trash' => __('No RMA found in Trash.')
    );

    $args = array(
        'labels' => $labels,
        'description' => __('Description.'),
        'public' => false,
        'publicly_queryable' => false,
        'show_ui' => true,
        'show_in_menu' => true,
        'query_var' => true,
        'rewrite' => array(
            'slug' => 'hg-rma-panel'
        ),
        'capability_type' => 'post',
        'has_archive' => true,
        'hierarchical' => false,
        'menu_position' => 51,
        'supports' => array(
            'title',
            'author'
        ),
        'map_meta_cap' => true
    );

    register_post_type('hg-rma', $args);
}

我的网站上存在其他与其他自定义帖子类型互动的类似表格,但它们并未造成此类问题。

如果有人可以帮助我,我将非常感激。

1 个答案:

答案 0 :(得分:0)

在研发过程中找到了解决方法

将post_status设置为“未来”,并将post_date设置为“ 1分钟后”。

$current_date               = date('Y-m-d H:i:s');
$post_date                  = date('Y-m-d H:i:s', strtotime('+1 minute',strtotime($current_date)));
$new_post_args = array(
                                'post_title'    => 'Lead is being updated',
                                'post_status'   => 'future', 
                                'post_type'     => $post_type,
                                'post_author'   => 4470,
                                'post_date'     =>  $post_date,
                            );  

            $post_id = wp_insert_post($new_post_args);