ウサヲブログ  HOME

ウェブ制作に関わる備忘録などを綴ります

このページの位置: HomeWordpress「プラグイン「Email Address Encoder」をテーマファイルで使いたい」の記事

プラグイン「Email Address Encoder」をテーマファイルで使いたい

ウサヲです。

プラグイン「Email Address Encoder」。インストールするだけで設定なんて1つもないから簡単に・・と設置したはいいものの、いろいろ手こずったので、メモ。

やりたいこと

プラグイン「Email Address Encoder」を導入し、1管理画面の各ページ本文でのメルアド入力と、2テーマファイルに直接記述する方法の2通りを実現したい

管理画面の各ページ本文でのメルアド入力

本文に入力したメルアドについては、プラグインがしっかり働いてくれていて何も憂うことはありません。
ソースコードを表示させて確認すると、それは見事にエンコード化されております。あっぱれ。

ちょっと待って!カスタムフィールド からのメルアドには注意!

これはblind spotでありました・・。カスタムフィールド を利用してメルアドを入力するってことはwordpressアルアルではないのかな、と勝手に思うのですが、このプラグインは、カスタムフィールド に対応しておりませんでした。(少なくともこの投稿の時点ではそうでした)

ウサヲ、お前ならどうする?

・・。えーと・・。これはもう・・

・・「神に頼る」・・とか・・。

神のお告げ

eae_encode_emails(get_sub_field('カスタムフィールド名'))

こんな素晴らしい回答があったのです。
指定のカスタムフィールド 内にメルアドがあれば、それをエンコード化してくれるという優れたコードがあったのです!

参考サイトはコチラです。
https://wordpress.org/support/topic/how-to-make-it-work-on-advanced-custom-field-filter-php/

ウサヲ感激。(他力本願・・)

次なる課題は、テーマファイルに直接記述する方法

プラグインの機能をテーマファイルに記述・・となると、思いつくのが”ショートコード ”というテクニックですが、ウサヲは悩みます。

ショートコードといえば、「echo do_shortcode([hoge]);」

でも今回ウサヲがやりたかったことは、引数としてメルアドがあり、それを渡したいのだが、なんだかうまくいかないし、あーでもないこーもないと悩み尽くして数時間。

で、結局のところ

これでよかった。↓

<a href="<?php echo do_shortcode('[encode]mailto:hogehoge@hogehoge.co.jp[/encode]'); ?>"><?php echo do_shortcode('[encode]hogehoge@hogehoge.co.jp[/encode]'); ?></a>  

確かにこれでよかった。できました、できましたよ。神の思し召しですがね・・。

でも、この数時間を無駄にしない1つの収穫がありました。
それがこちら。

<?php echo antispambot("hogehoge@hogehoge.co.jp"); ?>

こちら↑今回の表題のプラグインを導入しなくてもこのコードだけでエンコード化が可能であります。
つまり、wordpressのデフォルトの機能にこういった類いのものが備わっておった、ということの大発見であります!

でも・・。

自力でなんとかできるようになれ、ウサヲ。

コメントを残す

日本語でお願いします。「テスト投稿」のような短い文は無視されます。

TOP