POST_STATUS=>发布不工作

时间:2013-12-18 作者:Oscar

我有一个前端表单,允许用户提交帖子。

这是我在提交帖子时存储数据的方式:

if ( isset( $_POST[\'submitted\'] )) {
        $post_information = array(
        \'post_title\' => wp_strip_all_tags( $_POST[\'postTitle\'] ),
        \'post_content\' => $_POST[\'postContent\'],
        \'post_type\' => \'post\',
        \'post_status\' => \'publish\'
    );
$new_post = wp_insert_post( $post_information );
除非我浏览仪表板并单击更新按钮,否则帖子不会显示在我的帖子页面中。

以下是我查询帖子的方式:

$args = array(
 \'posts_per_page\' => 5,
\'paged\' => $paged,
\'meta_query\' => array(
array( \'key\' => \'_wti_like_count\',\'value\' => 5, \'compare\' => \'<=\',\'type\' => \'numeric\')
)
);

query_posts( $args );
如何使我提交的帖子自动发布?

2 个回复
最合适的回答,由SO网友:Chittaranjan 整理而成

帖子会被添加和发布,但由于您有元查询,并且当您从前端提交帖子时没有添加元键,所以它不会显示。使用以下代码根据需要添加元数据。

if ( isset( $_POST[\'submitted\'] ) ) {
     $post_information = array(
                              \'post_title\' => wp_strip_all_tags( $_POST[\'postTitle\'] ),
                              \'post_content\' => $_POST[\'postContent\'],
                              \'post_type\' => \'post\',
                              \'post_status\' => \'publish\'
                         );

     $new_post = wp_insert_post( $post_information );

     // Add the post meta
     add_post_meta( $new_post, \'_wti_like_count\', 0, true );
     add_post_meta( $new_post, \'_wti_unlike_count\', 0, true );
     add_post_meta( $new_post, \'_wti_total_count\', 0, true );
}

SO网友:jogesh_pi

我不确定,但我认为这是因为你没有将作者添加到$post_information :

if( isset($_POST[\'submitted\']) ):
    global $user_ID;
    $post_information = array(             
        \'post_title\' => wp_strip_all_tags( $_POST[\'postTitle\'] ),
        \'post_content\' => $_POST[\'postContent\'],
        \'post_type\' => \'post\',
        \'post_status\' => \'publish\', 
        \'post_author\' => $user_ID, 
        \'post_date\' => date(\'Y-m-d H:i:s\')
    );
    $post_id = wp_insert_post($post_information);
    if (!$post_id) {
        wp_die(\'Error\');
    }
endif;

结束

相关推荐

PUBLISH_POST插件挂钩并不总是传递$POST->POST_CONTENT

我编写了一个简单的插件,可以在帖子发布时获取帖子的内容,并将其发送到外部站点进行归档。这通常是可行的,但当处理以前没有保存或发布的帖子时,没有post_content 值可用。如果在发布之前另存为草稿,则所有操作都正常,只有在直接发布时,该值才为空。我的插件是这样的: function send_data($postID,$post){ global $post; print_r($post); //used for debugging the contents of $p