
この記事は【2022年7月21日】が最後の更新のため、記事の内容が古い可能性があります。
WordPressのプラグイン等のフォームからの送信ではなく、カスタムフィールドに入力したメールアドレスから、送信出来るようにして欲しいとの要望がありました。
そのままではボットによる収集が気になるので、スパム対策をした方法での出力を記載します。
ワードプラスに用意されている関数を使用 antispambot()
これでエンティティ化(難読化・暗号化)します。
使い方の例として下記をご参照ください。
<?php echo antispambot("[email protected]"); ?>
引数(例の場合、[email protected]部分)がエンティティ化されます。
例を実際に出力した結果
mail@example.com
該当ページが読み込まれる度に出力内容も変わります。
カスタムフィールドの値を出力 mailtoでの記載方法
カスタムフィールドにメールアドレスを入力し出力する実際の方法です。
<a href="mailto:<?php $value = get_post_meta( get_the_ID(), 'user_mail', true ); echo antispambot("$value"); ?>?subject=">メールお問い合わせ</a>
上記の場合だと、メールアドレスは画面上には表示されませんが、ソースコードを確認してみてください。
カスタムフィールドの値(メールアドレス)がエンティティ化されています。
user_mailの部分をそれぞれ指定されているカスタムフィールドの値に変更してください。
このページを見ている方には必要ないと思いますが、mailtoの使い方もとりあえず載せておきます。
<a href=”mailto:メールアドレス?subject=件名&body=本文”>○○○</a>
今回の場合だけでなく、掲示板やオープンな会員サイト等でメールアドレスを直接表示させなければいけない場合にも利用できるかと思います。
いろいろ試してみてください。
関連記事
2025/04/19
WordPressでのサイト運営、始めてみましたか?✨ 最初は設定や記事の書き方など、覚えることがたくさんで大変ですよね!基本的な操作は色々なサイトで解説されて...
2025/04/19
WordPressで画像やプラグインをアップロードしようとしたら、「Missing a temporary folder」というエラーが出て、うまくアップロード...
2025/04/19
WordPressサイトで人気の高いお問い合わせフォームプラグインの一つであるWPFormsを利用していると、サイトの管理画面や、実際にフォームが表示されている...
2025/04/18
WordPressサイトを運営していると、時々「Fatal error: Maximum execution time of XX seconds exceed...
2025/04/18
WordPressでウェブサイトを運用していると、予期しないエラーメッセージに遭遇することがあります。有名なエラー(例えば、白い画面だけが表示される「真っ白画面...