私はプライベートブログ、つまり自分だけが投稿できるブログにWordpress 3.4.2を使用しています。今、Wordpressは私が(C#ソースファイルのような)特定のファイルタイプをアップロードすることを防ぎます。私の知る限りでは、アップロードできるものを定義するホワイトリストがあります。
このホワイトリストを拡張することができる、あるいは無効にすることさえできるプラグインはありますか?
他のすべての回答では、テーマを編集する必要があると言われますが、そのためのプラグインが必要です(テーマをすべて編集する必要はありません)。
また、私は このプラグインを見つけました しかし、ここでもまた、私のサーバー上のファイルを編集する必要があります(おそらくプラグインが更新されると上書きされます)。
それで、他に何かありますか?
残念ながら、toschoの答えは機能しません - 少なくともWordpress 3.4以上ではそうではありません。
正しい解決策は次のとおりです。
#
# For this, see: wp-includes/capabilities.php > map_meta_cap()
#
function wpse_6533_map_unrestricted_upload_filter($caps, $cap) {
if ($cap == 'unfiltered_upload') {
$caps = array();
$caps[] = $cap;
}
return $caps;
}
add_filter('map_meta_cap', 'wpse_6533_map_unrestricted_upload_filter', 0, 2);
プラグインを作成するか、これを設定ファイルに追加することができますが、3.9.2ではこれが私にとってはうまくいきました。
define('ALLOW_UNFILTERED_UPLOADS', true);
'user_has_cap'
をフィルターに掛け、'unfiltered_upload'
を1に設定します。
サンプルコード 未テスト:
/*
Plugin Name: Remove Uploads Filter
Plugin URI: http://wordpress.stackexchange.com/questions/67225/allow-all-file-types-for-upload
Description: Disables white-list filter for uploads
Version: 1.0
Author: WPSE - @toscho
*/
add_filter( 'user_has_cap', 'wpse_67225_unfiltered_upload' );
function wpse_67225_unfiltered_upload( $caps )
{
$caps['unfiltered_upload'] = 1;
return $caps;
}