3.5中的帖子类型特定上载文件夹

时间:2013-01-26 作者:Attila

在3.4中,我使用以下函数按帖子类型更改图像上载文件夹。Different upload directory based on post type in a theme现在它在3.5中不再起作用了。您知道如何在3.5版本中替换此功能吗?

谢谢

1 个回复
最合适的回答,由SO网友:chrisguitarguy 整理而成

是的,是的。就在昨天,我不得不做一些类似的事情,并找到了这个解决方案。与链接解决方案大致相同,但有更多的错误检查。

<?php
add_filter(\'upload_dir\', \'cgg_upload_dir\');
function cgg_upload_dir($dir)
{
    // xxx Lots of $_REQUEST usage in here, not a great idea.

    // Are we where we want to be?
    if (!isset($_REQUEST[\'action\']) || \'upload-attachment\' !== $_REQUEST[\'action\']) {
        return $dir;
    }

    // make sure we have a post ID
    if (!isset($_REQUEST[\'post_id\'])) {
        return $dir;
    }

    // modify the path and url.
    $type = get_post_type($_REQUEST[\'post_id\']);
    $uploads = apply_filters("{$type}_upload_directory", $type);
    $dir[\'path\'] = path_join($dir[\'basedir\'], $uploads);
    $dir[\'url\'] = path_join($dir[\'baseurl\'], $uploads);

    return $dir;
}

结束

相关推荐

以编程方式通过URL获取图像并保存在Uploads文件夹中

我参与了从另一个CMS到WordPress的大规模迁移。我们有一个数据库的副本,并且已经解决了如何提取内容并使用wpdb 班然而,有几千张图片,我们想自动拉过来,生成各种大小的图片,然后贴到帖子上,以节省大约一周的工作!有没有办法通过URL从远程站点获取图像并将其保存在我的wp uploads文件夹中?我想这是wp_http 但我对此并不熟悉。一旦我得到图像并保存它,我就可以使用wp_generate_attachment_metadata 创建各种尺寸和wp_insert_attachment 把它贴在