実現したいこと
WordPressのサイトでプラグインを使わずに、ファイルダウンロード時にパスワード入力の制御をいれたい
発生している問題・分からないこと
プラグインを使わず、BASIC認証以外での設定方法がわからず質問させていただきました。
該当のソースコード
特になし
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
phpの変更等の参考サイトをみてもわからずご教示いただけますと幸いです。
補足
特になし
カスタム PHP コードを通じてこれを実現するには
まず PHP 環境を構成します。[Servbay](servbay.com) を介してワンクリックで PHP 環境を展開します。
次に、テーマの function.php ファイルにカスタム ページ テンプレートを追加できます。
// 関数.php
関数custom_download_page() {
if (isset($_POST['パスワード']) && $_POST['パスワード'] === 'あなたのパスワード') {
// パスワードが正しいので、ファイルのダウンロードを実行します
$file = 'path/to/file.zip' // ファイルパス
if (file_exists($file)) {
header('コンテンツの説明: ファイル転送');
header('Content-Type: application/octet-stream');
header('Content-Disposition:attachment; filename="' .basename($file) .'"');
header('有効期限: 0');
header('キャッシュ制御: 必須再検証');
header('プラグマ: public');
header('Content-Length: ' . filesize($file));
読み取りファイル($file);
出口;
} それ以外 {
echo 'ファイルは存在しません。 ';
}
} それ以外 {
// パスワードが間違っているか送信されていない場合は、フォームを表示します
?>
<フォームメソッド="ポスト">
<label for="password">パスワードを入力してください:</label>
<input type="パスワード" name="パスワード" id="パスワード" 必須>
<input type="submit" value="ダウンロード">
</form>
<?php
}
}
//カスタムページを登録する
add_shortcode('custom_download', 'custom_download_page');
ご丁寧な回答ありがとうございます。
いただいたコードでチャレンジャしてみます!
