Php 如何在WordPress中以编程方式将媒体文件附加到帖子?

Php 如何在WordPress中以编程方式将媒体文件附加到帖子?,php,wordpress,Php,Wordpress,在WordPress中,如果在WP admin post edit屏幕中上载媒体文件,则该文件将自动附加到正在编辑的当前帖子。然而,我允许我的网站作者通过前端上传图片。我创建的上传表单位于帖子页面上(在循环中),因此我在上传图像时可以使用帖子的ID 有没有办法将上传的图片自动附加到帖子上?目前,当我访问WP admin中的媒体部分时,迄今为止上传的所有图像都标记为“未附加” 参考: 编辑:我应该提到我正在使用WordPress Liveblog:-当用户将图像URL粘贴到表单中时,图像会被上传

在WordPress中,如果在WP admin post edit屏幕中上载媒体文件,则该文件将自动附加到正在编辑的当前帖子。然而,我允许我的网站作者通过前端上传图片。我创建的上传表单位于帖子页面上(在循环中),因此我在上传图像时可以使用帖子的ID

有没有办法将上传的图片自动附加到帖子上?目前,当我访问WP admin中的媒体部分时,迄今为止上传的所有图像都标记为“未附加”

参考:


编辑:我应该提到我正在使用WordPress Liveblog:-当用户将图像URL粘贴到表单中时,图像会被上传。

在上传表单提交后,您可以运行以下功能。让我们说一下你的上传表ias如下

<form ction="your_action.php" method="post"
enctype="multipart/form-data">
    <input type="file" name="attachment"/>
    <input type="hidden" name="post_id" value="<?php global $post; echo $post->ID; ?>"/>
</form>


谢谢你的主意。我应该提到我正在使用WordPress Liveblog:-当用户将图像URL粘贴到表单文本区域并提交表单时,图像会被上传。我编辑了我的问题Liveblog如何将图像插入媒体库?如果我知道这一点,我可以尝试应用你的解决方案。我正在分析liveblog。我将提供解决方案,因为我找到了确切的方法谢谢!据我所知,Plupload是用来上传的。用户必须输入图像URL并点击提交。图像似乎被上传到WordPress/uploads/文件夹,并且图像在WP admin的媒体管理器中列出。但是,每个图像都标记为“未附加”,我想我已经解决了。在liveblog.php中,
add\u default\u plupload\u settings()
设置一些默认plupload设置<需要在此处设置code>post\u id
,以便以后可以使用
media\u handle\u upload()
。谢谢你的帮助。
<?php

$filename = $_FILES["file"]["attachment"];

$post_id = $_POST["post_id"];

$filetype = wp_check_filetype( basename( $filename ), null );

$wp_upload_dir = wp_upload_dir();

$attachment = array(
    'guid'           => $wp_upload_dir['url'] . '/' . basename( $filename ), 
    'post_mime_type' => $filetype['type'],
    'post_title'     => preg_replace( '/\.[^.]+$/', '', basename( $filename ) ),
    'post_content'   => '',
    'post_status'    => 'inherit'
);


$attachment_id = wp_insert_attachment( $attachment, $filename, $post_id );
require_once( ABSPATH . 'wp-admin/includes/image.php' );
$attach_data = wp_generate_attachment_metadata( $attach_id, $filename );
wp_update_attachment_metadata( $attach_id, $attach_data );