gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-10-31 22:43:30 26 4
gpt4 key购买 nike

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

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

引用:

https://codex.wordpress.org/Using_Image_and_File_Attachments#Attachment_to_a_Post

编辑: 我应该提到我正在使用 WordPress Liveblog:https://github.com/Automattic/liveblog - 当用户将图片 URL 粘贴到表单中时,图片会上传。

最佳答案

您可以在提交上传表单后运行以下功能。假设您的上传表单如下:

<form action="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>

在你的上传处理部分:

<?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 );

关于php - 如何在 WordPress 中以编程方式将媒体文件附加到帖子?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22912336/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com