Wordpress 在特定文件夹中上传媒体以获得特殊 post

Wordpress upload media in a specific folder for a special post

我是 wordpress 的初学者。我必须在 root(http://www.domain.com/myfoldername) 的子文件夹中上传一个特殊的 post 文件。它仅适用于特殊 post,而不适用于所有。不需要更改我的默认目录,我也不想不使用任何插件。

谁能帮我做这个?我已经搜索过了,但没有得到任何解决方案。

谢谢

通过WordPress,您只能上传默认上传目录中的文件。如果您不想使用任何插件,则无法在不同的目录中上传文件。您可以通过 FTP 将文件上传到任何您想要的位置,然后只需将文件的 link 放入 post.

为您的特定页面尝试此代码。

add_filter('upload_dir', 'upload_image_specific_calback'); 函数 upload_image_specific_calback( $param ){

//$_GET['post'] which is your target post like 10 is post id.
//After click update button.
if(isset($_GET['post'])){
    if($_GET['post'] == 71){
        $param = array(
        'path' => get_home_path().'myfoldername',
        'url' => home_url().'/myfoldername',
        'subdir' => '',
        'basedir' => get_home_path(),
        'baseurl' => home_url(),
        'error' => false
        ); 
    }
}

//$_POST['post_id'] which is your target post like 10 is post id.
//instant upload time before save
if(isset($_POST['post_id'])){ 
    if($_POST['post_id'] == 71) {
        $param = array(
        'path' => get_home_path().'myfoldername',
        'url' => home_url().'/myfoldername',
        'subdir' => '',
        'basedir' => get_home_path(),
        'baseurl' => home_url(),
        'error' => false
        );
    }   
}

error_log("path={$param['path']}");  
error_log("url={$param['url']}");
error_log("subdir={$param['subdir']}");
error_log("basedir={$param['basedir']}");
error_log("baseurl={$param['baseurl']}");
error_log("error={$param['error']}"); 
return $param;

}