Wordpressのコンテンツとwordpressディレクトリを コーデック内 のように設定します。
define('WP_SITEURL', 'https://' . $_SERVER['SERVER_NAME'] . '/wordpress');
define('WP_CONTENT_DIR', dirname(__FILE__) . '/content');
今、私がやりたいことは、このように、すべてのユーザーに個別のアップロードディレクトリを設定することです。
wpinstance.org/content/uploads/user-name/here-goes-the-file.jpg
私はすでにたくさん使ってみました
define( 'UPLOADS', dirname(__FILE__) . '/content/uploads'.$current_user->user_name.'/');
dirname()
などのない多くの組み合わせと同様に。ファイルをwordpress/…something
まで持ち上げ、ユーザー名の部分を空のままにしたことがすべて判明しました。では、どうすればこれを達成できますか?何か案は?
irc://freenode.net/wordpress
経由で petermolnar にクレジットを付けて、私は自分の質問に答えることができます。重要なのは、テーマのupload-dir
にfunctions.php
フィルタを設定することです。
function per_user_upload_dir( $original ){
// use the original array for initial setup
$modified = $original;
// set our own replacements
if ( is_user_logged_in() ) {
$current_user = wp_get_current_user();
$subdir = $current_user->user_login;
$modified['subdir'] = $subdir;
$modified['url'] = $original['baseurl'] . '/' . $subdir;
$modified['path'] = $original['basedir'] . DIRECTORY_SEPARATOR . $subdir;
}
return $modified;
}
add_filter( 'upload_dir', 'per_user_upload_dir');
function per_user_upload_dir( $original ){
// use the original array for initial setup
$modified = $original;
// set our own replacements
if ( is_user_logged_in() ) {
$current_user = wp_get_current_user();
$subdir = $current_user->user_login;
$modified['subdir'] = $subdir;
$modified['url'] = $original['baseurl'] . '/' . $subdir;
$modified['path'] = $original['basedir'] . DIRECTORY_SEPARATOR . $subdir;
}
return $modified;
}
add_filter( 'upload_dir', 'per_user_upload_dir');
それは私のために働いています...しかし、uploads/users /のように、すべてのユーザーのために別のサブフォルダーを作ることは可能ですか?すべてのユーザーのコンテンツをアップロードディレクトリの下のusersフォルダーに保存したい