Wordpress

【WordPress】Contact Form 7 を重くさせない方法!

Rito
Rito

こんにちは!
Rito(@Rito105twitter)です!

スマホのフッターメニューをこの前作ったのです。
ちょっとしたトラブルはありましたが、無事作成終了。
[nlink url=”https://rito105.com/jin-sfooter-icon/”]

そのスマホフッターメニューは
「ホーム・プロフィール・ツイッター・お問い合わせ」の4つにしたんですけどね。

まだお問い合わせフォーム作ってないんじゃー!!

ということで、今日はお問い合わせフォームを作っていこうと思います!

メールフォームといえばContact Form7

ちょっと調べてみたんですけれどね。
WordPress界隈では、お問い合わせフォームといえば「Contact Form 7」と言われるくらい、メチャメチャ推されているプラグインがあるんですね。

ふむ。
だが私は聞いたことがあるぞ?

「プラグインはサイトを重くする」って。

まぁその部分はね。利便性と天秤にかけてどっちを取るかってことなんでしょうけれど。

「早くて便利」そんなコンタクトフォームにできませんか?

とりあえず設置しよう。

プラグイン>新規追加>検索窓[Contact form 7]

ポチポチポチ。

[有効化] ポチ。

できたわ。

 

ええええええええええ!?!?!?

WordPressの「JIN」には「Contact form 7」のデザインも入っているんだって!!

マジかー。ホンマにいたれりつくせりやなー。
しかも…シンプルで…良きかな…。

設定。

終了!!(ドンッ!)

待てい!!高速化がまだじゃ!

とは言えですよ、プラグインをまた1つ追加したわけですからね。
サイト自体が重くなるのは極力避けたいもの。

Contact Form 7でブログが重くなる原因

デフォルトの設定では、Contact Form 7 はその JavaScript と CSS スタイルシートをすべてのページにロードします。
引用:Contact Form 7

ふむ。

じゃあ「コンタクトフォームがあるページだけ読み込めば良いんじゃね?」と思いますが、
作者様によると、「プラグインでそれを判断するのは難しいんやで。」とのこと。

だからこっちサイドでその設定をやってあげる必要がある・・・と。

メールフォームがあるときのみJavaScript と CSS スタイルシートを読み込ませる設定

function.phpに追加します。
しっかりとバックアップを取って自己責任でお願いします。

そう。

ここからはfunction.phpというものを触ります。
これは失敗すると、変なエラーが出てブログが真っ白になってしまう可能性のある恐ろしいものなのです!!!

私も何度も真っ白にしています!!!

まあ、バックアップ取ってあればFTP経由で復帰できるんで大丈夫ですよ。
PCそのものがぶっ壊れるわけじゃないです。

どうやって復帰するんですかー?とかは聞かないでくださいね。
自己責任でお願いします。

あ、ちゃんと「子テーマ」でやったほうが良いっすよ!

子テーマの記事はまだ書いてないので、ググってね!

設定

[外観]>[テーマの編集]>[function.php]

function.phpに以下のコードを貼り付ける。

パーマリンクを「contact」としている場合の設定です。

PHP

//contact form 7 のファイルを必要な場合(/contact/)だけ読み込む設定 ここから//
function wpcf7_file_load() {
	add_filter( 'wpcf7_load_js', '__return_false' );
	add_filter( 'wpcf7_load_css', '__return_false' );
	if( is_page( 'contact' ) ){
		if ( function_exists( 'wpcf7_enqueue_scripts' ) ) {
			wpcf7_enqueue_scripts();
		}
		if ( function_exists( 'wpcf7_enqueue_styles' ) ) {
			wpcf7_enqueue_styles();
		}
	}
}
add_action( 'template_redirect', 'wpcf7_file_load' );
//contact form 7 のファイルを必要な場合(/contact/)だけ読み込む設定 ここまで//

設定は以上です。お疲れ様でした。

コンタクトフォーム設置!

コンタクトフォーム設置完了!ということで。

Googleさんの「PageSpeed Insights」で、サイトの表示速度を計測!


お、ええやん!!

では、モバイルは…?

ぐぬぬぬ…。

画像も軽量化してるつもりなんだけどなぁ…。
がんばります。。。。

それでは!!

COMMENT

メールアドレスが公開されることはありません。