使用媒体库上传文件时,如何获取创建的帖子的ID?

时间:2018-12-11 13:34:05

标签: wordpress

我是wordpress的新手,我在一个插件上工作,该插件通过媒体库上传文件。如果根据某些条件的验证该文件有效,则将对其进行处理。另一方面,如果不需要处理文件,则将其删除。问题在于数据库中存在有关所创建帖子的数据。以下代码是我用来从已上传文件中获取信息的代码。

add_filter('wp_handle_upload', 'upload_handler', 10, 1);

function upload_handler($upload) {
    $file = $upload['file'];
    $type = $upload['type'];

    if (condition_1($type) && condition_2($file)) {
        parse($file);
    }
}

要删除文件,请输入以下内容

function parse($file) {
    // ... parse logic here

    if ($noNeedToParse) {
        if (unlink($file)) {
            printMessage('File removed from file system');
        }
    }
}

这时我需要帖子ID才能删除帖子,而之前的帖子则要删除上传的文件。

我想在触发过滤器时获取帖子ID,并将其作为参数传递给函数解析。

我认为是这样的:

function custom_handle_upload($upload) {
    $postID = // some logic to get the id        

    $file = $upload['file'];
    $type = $upload['type'];

    if (hasValidType($type) && hasValidName($file)) {
        parseXLSX($file, $postID); // pass $postID
    }
}

我一直在尝试不同的组合

global $post;
var_dump($_post->ID);

但是没有成功,从这个例子中我得到null

在这种情况下,从媒体库上传文件时如何获取创建的帖子ID?

0 个答案:

没有答案
相关问题