Security(セキュリティ)

WP(WordPress)

【WordPress】antispambot()でメールアドレスをエンティティ化

antispambot()でメールアドレスをエンティティ化

WordPressでメールアドレスを表示させる場合には、antispambot()エンティティ化して出力します。

メールアドレスをエンティティ化することで、スパムボットに収集されにくくするためです。
スパムメールが大量に送られてくるのは困りますからね!

使い方は、こんな感じです。
<?php echo antispambot("メールアドレス"); ?>

例えば、
<?php echo antispambot("info@example.com"); ?>
を実行すると、このようにメールアドレスを暗号化することが出来ます。
メールアドレスのエンティティ化

具体的には、以下の様な使い方が出来ますね。

<a href="mailto:<?php echo antispambot("info@example.com "); ?>"><?php echo antispambot("info@example.com "); ?></a>

もし、投稿者のメールアドレスを表示させる場合には、このように書くことも出来ますね。

<?php echo antispambot( get_the_author_email() ); ?>

 

記事投稿画面(エディタ)で使用する場合

記事の投稿画面にメールアドレスを貼り付ける場合には、
ショートコード化しておくと便利です。

ショートコードには、自己完結型囲み型があります。

 

自己完結型ショートコード

自己完結型のショートコードを書くのであれば、このようになります。

function antispambot_shortcode($atts){
extract(shortcode_atts(array(
"mailto" => "",
"txt" => ""
), $atts));
if( is_email($txt) ) $txt = antispambot($txt);
return "<a href=\"mailto:" . antispambot($mailto) . "\">" . esc_html(antispambot($txt)) ."</a>";
}
add_shortcode("email", "antispambot_shortcode");

使い方は、このようになります。
[email mailto="info@example.com" txt="お問合せはこちらから"]

[email mailto="info@example.com" txt="info@example.com"]

 

囲み型ショートコード

囲み型のショートコードを書くのであれば、このようになります。

function antispambot_shortcode($atts, $mailto = null){
if( !is_email($mailto) ) return;
return "<a href=\"mailto:" . antispambot($mailto) . "\">" . esc_html(antispambot($mailto)) ."</a>";
}
add_shortcode("email", "antispambot_shortcode");

もし、
リンクなしで表示したい場合には、
return "<a href=\"mailto:" . antispambot($mailto) . "\">" . esc_html(antispambot($mailto)) ."</a>";

return antispambot($mailto);
に変更してください。

使い方は、このようになります。
[email]info@example.com[/email]

WordPress短期学習プログラム

関連記事

  1. SSL(HTTPS)

    WP(WordPress)

    「お問合せフォーム」のみHTTPSで通信したい!!

    某業者さんのサイトをWPで組んでいるのですが、SSLを取得している…

  2. WP:WordPress(ワードプレス)

    WP(WordPress)

    【WordPress】管理画面上部に「ログアウト」を表示

    ちょっとした事ですが、WordPressを使っていると、管理画…

  3. WP:WordPress(ワードプレス)

    WP(WordPress)

    WPカスタムフィールドの入力欄(テキストエリア)を大きくする

    最近WordPressのカスタムフィールドを使用する機会が多くなったの…

  4. PHP(ピー・エイチ・ピー)

    WP(WordPress)

    【WP】PHPのバージョンアップでエラー

    運用中のWordPressで構築したサイトがあるのですが、かなり前…

  5. WP:WordPress(ワードプレス)

    WP(WordPress)

    WordPress3.8へアップデートしてみました!!

    今日、既存のWordPressを3.8へアップデートしてみました。…

  6. WP:WordPress(ワードプレス)

    WP(WordPress)

    Nginx+WordPressでブログを運営

    WordPressブログを構築本日は、WordPressを…

最近の記事

  1. WordPressのセキュリティ対策(脆弱性対策)
  2. ドメイン失効
  3. SEO関連タグ
  4. SEO関連タグ
  5. レンタルサーバー(共用サーバー)
  6. システム開発用のアイキャッチ
  7. システム開発用のアイキャッチ
  8. ドメイン 利用制限
  9. WP:WordPress(ワードプレス)
  10. システム開発用のアイキャッチ
PAGE TOP