質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

Q&A

解決済

2回答

6512閲覧

MW WP FORMで画像ファイルの添付ができない

chika16g

総合スコア3

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

0グッド

0クリップ

投稿2023/07/02 19:29

編集2023/07/08 01:48

実現したいこと

MW WP FORMでファイル添付ができず困っています。
入力画面ではファイルを選択できている表示になりますが、確認画面に遷移すると消えています。このまま送信ボタンを押しても、やっぱり管理者に届く通知メールに添付画像がついておりません。ダウンロードできるURLのようなものもなく、ただ空白となってしまいます。

前提

wordpressで芸能プロダクションのwebサイトを作っています。
オーディスションの応募フォームにて、写真を添付するフォームを作成したのですが、メールへの添付がされず困っています。

発生している問題・エラーメッセージ

エラーメッセージの表示がありませんが、確認画面、添付メールにて空白となってしまいます。

試したこと

以下試したこと
・WP Add Mime Typesを入れてみました。
しかし調べてみると、そもそもjpgやpngは最初から許可されているようで、難しい拡張子の画像を添付してる訳では無いので、必要なかったかも・・?

・アップロードの格納先を絶対パスにする→×
そもそもuploadというファイルにデータが入ってすらない・・・ここに保存されていないことも問題でしょうか?このサイトを参考にしました。
https://roroa.roocy.net/245

・name設定を日本語から英語に変えてみる
こちらでもダメでした。

・ 他のプラグインを停止してみる
こちらでもだめでした。

入力画面
イメージ説明

確認画面
イメージ説明

管理者向けの返信自動メール
イメージ説明

編集画面
イメージ説明

編集画面
イメージ説明

FTPのパーミッションの設定画像
イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

確認画面に遷移すると消えています。

との事ですので、wp-content/uploadsというディレクトリがPHPから書き込み可能かどうか確認してみてください。

通常、確認画面に移る際には、wp-content/uploads/mw-wp-form_uploadsというディレクトリが作られ、そこにアップロードファイルが保存されます。

確認画面を開いたときには、wp-content/uploads/mw-wp-form_uploadsディレクトリの中にファイルが保存されているはずで、そのファイル名が確認画面に表示されます。

投稿2023/07/05 15:32

Eggpan

総合スコア3203

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

chika16g

2023/07/06 06:23

回答ありがとうございます! >>wp-content/uploadsというディレクトリがPHPから書き込み可能かどうか確認してみてください。 このやり方がわからず・・・ http://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/wp_is_writable is_writable(wordpressならwp_is_writable)を使うのかなということは分かるのですが、どのような式をどこに書けば良いのかわからず、です。phpの勉強不足ですみません。 >>通常、確認画面に移る際には、wp-content/uploads/mw-wp-form_uploadsというディレクトリが作られ、そこにアップロードファイルが保存されます。 そうですね。uploadsの中にmw-wp-form_uploadsというディレクトリは作られていないよう。何かフォルダの指定がうまくできていないことが原因かなとは思うのですが・・・というところです。すみません🙇🏻‍♀️
Eggpan

2023/07/06 06:27

動作環境はどのようなものになりますか? 書き込み権限はサーバー側設定のため、phpのプログラム変更では対処できません。 一般的にはディレクトリの所有者をapacheなどに変更する、パーミッションを777にする、などの対処を行うことが多いです。
chika16g

2023/07/07 17:26

即レスいただいていたのに気づくのが遅くなってしまいました。大変申し訳ありません。 どういったことをお答えしたらいいか分からずで、間違った回答をしていましたらすみませんですが、 Web serverはApacheで PHP versionは8.0.22 Wordpress versionは6.2.2です。
Eggpan

2023/07/08 00:45

apacheでよくある設定であれば、PHP実行時の権限はapacheです。その場合、 - uploadsディレクトリの所有者がapache(OSによっては httpd の場合もある)で、パーミッションが755 - uploadsディレクトリのパーミッションが757や777 どちらかの状態にする必要があります。 現状の wp-content/uploads の所有者がどうなっているかについては、FTPツールで確認するか、コマンド実行が可能であれば ls -ld wp-content/uploads で確認したりします。
chika16g

2023/07/08 01:46

ありがとうございます! FTPで確認したところ、パーミッションはすでに755でした。 このコメントで画像添付ができなさそうなので、投稿の本文に画像を追加します。
Eggpan

2023/07/08 01:49

777に変更可能ですか? サーバー環境によりますが、所有者がapacheでは無い可能性がありそうです。(例えば、FTPユーザーが所有者になっているなど) その場合、所有者、またはapacheの動作ユーザーが変更できなければパーミッション数値を変更します。
guest

0

自己解決

すみません、別の方法で解決策を教えていただいたので、こちらで自己解決とさせていただきます。
色々教えていただいた、Eggpanさんありがとうございました。申し訳ないです。

やったことは3つです!

1、formタグで囲ってしまっていたけど、apply_shortcodesがformタグを保管しているらしいので、こちらをコメントアウトまたは削除する。
イメージ説明

2、functionに以下のコードを記す。

php

1<?php 2function my_mwform_upload_dir($path, $Data, $key) 3{ 4 return '/audition'; 5} 6add_filter('mwform_upload_dir_mw-wp-form-193', 'my_mwform_upload_dir', 10, 3); 7?>

参考サイト:

「MW WP FROM」の添付ファイルのアップロード先を変更する | WPスイッチ

画像の格納先をauditionにしてねという意味

あと、uploadsフォルダの中にauditionフォルダ用意する。こちらは手動で用意しておくこと。中身は空でOK

フォームから送信された画像はここに格納される。
イメージ説明

3、タグをimageからfileに変更する
イメージ説明

この3つの変更できちんと添付できるようになった!
どなたか同じことで悩む方にこの記事が届けば嬉しいです。

投稿2023/07/23 17:59

chika16g

総合スコア3

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問