Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wordpress 将介质附加到Post而不首先自动保存_Wordpress_Media_Autosave - Fatal编程技术网

Wordpress 将介质附加到Post而不首先自动保存

Wordpress 将介质附加到Post而不首先自动保存,wordpress,media,autosave,Wordpress,Media,Autosave,有了WordPress,我使用wp_编辑器允许用户使用编辑器和媒体上传器。我希望避免创建帖子的自动保存,但问题是,在保存帖子之前,附件没有可附加的帖子id 我想知道是否有办法上传媒体,然后在保存后将其附加到新帖子上 我可以在保存帖子时向附件传递一个临时ID来标识它吗?或者在上传附件ID后抓取附件ID 感谢您的想法 经过一番大惊小怪之后,我得出结论,预先设置post ID是必要的 我最终做了WordPress Post编辑屏幕所做的事情。我使用了一点jQuery和Ajax,在用户键入文章标题后动态

有了WordPress,我使用wp_编辑器允许用户使用编辑器和媒体上传器。我希望避免创建帖子的自动保存,但问题是,在保存帖子之前,附件没有可附加的帖子id

我想知道是否有办法上传媒体,然后在保存后将其附加到新帖子上

我可以在保存帖子时向附件传递一个临时ID来标识它吗?或者在上传附件ID后抓取附件ID


感谢您的想法

经过一番大惊小怪之后,我得出结论,预先设置post ID是必要的

我最终做了WordPress Post编辑屏幕所做的事情。我使用了一点jQuery和Ajax,在用户键入文章标题后动态创建一个autosave

自动保存完成后,它会将媒体上载iframe href替换为包含自动保存帖子ID的iframe href


因此,仍有可能出现一些被放弃的帖子草稿,但至少需要通过键入帖子标题来做出一些承诺。

您可以创建未附加的媒体,然后将其附加到帖子:

function file_into_database( $filetype, $filename, $target )
{
    $title = $this->clean_file_info[ 'basename' ];

    $attachment = array
    (
          'post_mime_type' => $filetype
        , 'post_title'     => $title
        , 'post_content'   => ''
        , 'post_status'    => 'inherit'
        , 'guid'           => $target[ 'uri' ]
        , 'post_author'    => $this->author
    );


    $attach_id = wp_insert_attachment( $attachment, $target[ 'path' ] );


    $attach_data = wp_generate_attachment_metadata( $attach_id, $target[ 'path' ] );
    wp_update_attachment_metadata( $attach_id,  $attach_data );

    return $attach_id;
}
然后,稍后将其附加:

wp_update_post
(
    array
    (
           'ID'          => $attachment[ 'id' ]
        ,  'post_parent' => $id_new_post
    )
)
我只是在一个插件中发现了这个,没有找到文档,所以我不知道是否有任何副作用,但我没有遇到任何副作用。还要注意的是,如果帖子最终没有被发布,你将不会得到延迟的自动保存,但你可能会得到延迟的附件,因此你可能不得不计划在将来某个时候删除它们,并在帖子被保存时取消删除