在前端帖子提交后获取帖子ID

时间:2016-01-25 作者:Al Rosado

我无法获取发布的帖子ID,我正在使用前端自定义表单。单击“提交”按钮后,站点将被重新定向到其他页面。现在,我无法使用以下方法获取刚刚发布的帖子ID:

wp_insert_post($post)

因为它返回重定向页面的ID,而不是已发布的帖子。我怎样才能得到它?我在这里兜圈子。

2 个回复
SO网友:Pieter Goosen

wp_insert_post() 返回以下三项之一

新创建的帖子ID

  • aWP_Error 对象如果$wp_error 如果在插入post期间发生错误,则设置为true,在这种情况下,不会插入post

  • 0 如果$wp_error 如果在post插入过程中发生错误,则设置为false(默认值),在这种情况下,不会插入post

  • 以下操作应能正常工作

    $args = [
        // All your post arguments
    ];
    $q = wp_insert_post( $q );
    if (    0 != $q 
         && !is_wp_error( $q )
    ) {
        echo \'My new post ID is \' . $q;
    }
    

    SO网友:Al Rosado

    我正在使用custom_function() 要插入帖子,表单会将用户重定向到另一个页面,该页面有自己的ID,这就是为什么我无法使用它。

    在我的案例中,我在模板中声明了这一点:

    if( $_POST) {
        $post_ID = custom_function();
    }
    
    然后我可以使用$post_ID 从那篇文章中获取我需要的自定义数据。

    相关推荐

    Front-End Post Submission

    我正在尝试添加一个表单,用户可以从前端提交帖子。我正在学习本教程:http://wpshout。com/wordpress从前端提交帖子/我正在做的是添加this code 到我的一个页面模板。表单显示正常,但当我单击“提交”按钮时,它会显示“Page not found error“”许多评论者说这不起作用。谁能给我指出正确的方向吗?代码是否不完整?有缺陷吗?我做错什么了吗?谢谢Towfiq I。