MENUCLOSE
twitter ツイッターfeedlyRSS

オンスタでは、オンラインで学習するために役立つコンテンツを掲載しています。そのほか、UdemyをはじめとしたEラーニングサービスの紹介も行っています。

オンスタ | オンラインで学習するための近道になるサイト
【WordPress】MW WP Formでアップロードしたファイルをログインユーザーのみが表示できるようにする

【WordPress】MW WP Formでアップロードしたファイルをログインユーザーのみが表示できるようにする

公開日:2019年07月11日
最終更新日:2019年07月26日
オンスタ運営
ホーム > スニペット > 【WordPress】MW WP Formでアップロードしたファイルをログインユーザーのみが表示できるようにする

Warning: Undefined variable $_cat_enginieer_flag in /home/growgroup/online-study.jp/public_html/wp-content/themes/online-study-wp/views/object/components/related-posts-inline.php on line 37
このエントリーをはてなブックマークに追加
【PR】Udemyならスマホでもタブレットでも、いつでも気軽に学べます。
まず、user-onlyディレクトリを/wp-content/uploads/ディレクトリに作成する。 以下のコードをコピーして index.php として作成し、/wp-content/uploads/user-only/ディレクトリに保存する。
<?php
require_once __DIR__ . "/../../../wp-load.php";

if ( is_user_logged_in() ){
    $ext = pathinfo($_SERVER["REQUEST_URI"]);
    $filepath = dirname(__FILE__) . "/". basename($_SERVER["REQUEST_URI"]);
  $contenttype = mime_content_type($filepath);
    header("Content-Type: $contenttype;");
  $file = readfile($filepath);
    exit;
} else {
    wp_redirect("/");
}

以下のコードをコピーして .htaccess として作成し、/wp-content/uploads/user-only/ディレクトリに保存する。
Header set Cache-Control "no-cache"
Header set Pragma "no-cache"

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wp-content/uploads/user-only/
RewriteRule ^index\.php$ - [L]
RewriteRule . /wp-content/uploads/user-only/index.php [L]
</IfModule>
以下をテーマ内のfunctions.phpに追記する。
function my_mwform_upload_dir( $path, $Data, $key ) {
  //アップロードディレクトリ以下のパスを指定
  return '/user-only'; 
}
// 442の部分は適宜フォームIDに書き換える
add_filter( 'mwform_upload_dir_mw-wp-form-442', 'my_mwform_upload_dir', 10, 3 );
 
【PR】Udemyならスマホでもタブレットでも、いつでも気軽に学べます。

Udemyを実際に体験した方の感想記事もぜひご覧ください♪

web制作者にオススメのオンライン学習サイト「Udemy」

世界最大級のコースがラインナップ!電子書籍サイト「Udemy」

世界最大級のコースがラインナップ!オンライン学習サイト「Udemy」

「Udemy」ではいつでもどんなトピックでも、専門家が教える何千ものコースを用意されており、無料で学べるコースも多数あります。もうちょっと勉強したいな。スキルアップしたいな。と思ったら是非チェックしてみてください。