無駄と文化

実用的ブログ

WP-Cron を cron から叩く

WP-Cron を cron から叩くとサイトの表示が若干軽くなるとのことでやってみた。
結論、問題なく動いている。

やりかた

すでに多くの人が解説しているので割愛。 やるべきことは、

  • define('DISABLE_WP_CRON', true); を設定してデフォルトの動作を止める
  • cron 設定で wp-cron.php を定期的に叩くようにする

具体的にはこちらのサイトを参考に、 hacknote.jp

注意点

cron 設定について、

  • cron を毎分実行するように設定しようとしたら「毎分実行は負荷が大きくなりがちなので制限をかけるかも」と注意喚起された *1
  • なので5分に一度 cron 実行するように設定を変えた
  • そうすると WP-Cron の実行も最大で5分遅延する恐れがある

PHP の実行時、

  • php コマンドで wp-cron.php を叩く場合、 $_SERVER['SERVER_NAME'], $_SERVER['REQUEST_METHOD'] などが取得できない。場合によっては PHP スクリプトの修正が必要になるかも
  • curl https://example.com/wp-cron.php とかすれば回避できるけど、特定の IP からしかアクセスを許していない条件下では使えない

補足

ちゃんと動作するか最初は不安だと思うので、 WP Crontrol を使ってタスクやログをウォッチしながらやると安心できる。

 

私からは以上です。

*1:共用サーバー (エックスサーバー) を利用しているのでこのような注意喚起が出たみたいです

ラジオボタンのコーディングは

ラジオボタンのコーディングは、

<div>
  <input type="radio" name="foo" value="hoge">
  <input type="radio" name="foo" value="fuga">
  <input type="radio" name="foo" value="piyo">
</div>

ではなく

<div>
  <input type="hidden" name="foo" value="">
  <input type="radio" name="foo" value="hoge">
  <input type="radio" name="foo" value="fuga">
  <input type="radio" name="foo" value="piyo">
</div>

と書こう。

送信先の画面で

<?php
echo $_GET["foo"];

みたいに値を参照できるので便利です。
(Undefined index の Notice が出ない)

スマートで便利な Polyfill 配信サービス Polyfill.io

どうも IE11 でも動くプログラムを書いている三井です。

先日 Github で流行りのライブラリをザッピングしていたら面白いサービスにたどり着きました。
Polyfill.io というサイトで、その名の通り JavaScript の Polyfill を気軽に読み込めるサービス のようです。

せっかくなのでメモついでに紹介します。

※ Polyfill とは、モダンブラウザにしか実装されていない新しい機能を古いブラウザでも動作するように独自に実装したコードのことです


Polyfill.io とは

このようなサイトです。

たくさんの Polyfill が一覧になっています。
2019年9月時点で237種類あるみたいです。


これらの Polyfill のうち自分が使いたいものにチェックを入れると、選んだ Polyfill を読み込むための URL が画面上部に表示されます。

使い方はこれだけ!

IE をはじめとする古いブラウザに対応させようとすると「あれも、これも、」とたくさんの Polyfill を読まなければいけなかったりするので、こうやって一覧になっているだけで探す手間が省けてべんりですよね。


Polyfill.io は 必要なコード だけを読み込む

さきほど取得した URL をブラウザで叩いて試しに中を見てみましょう。

Chrome 76 で視聴

あれ空っぽ。

一方その頃、 Internet Explorer 11 では...、

ファイルがダウンロードされ、

開いてみるとコードが!


というわけでこの Polyfill.io はリクエスト元のユーザーエージェントを判別して Polyfill が必要なブラウザに必要なコードだけ返すようになっているんですね。なんという親切さ。
なので Polyfill.io のコードを埋め込んだサイトを モダンブラウザで閲覧した場合 にも 余計なコードの読み込みで表示が遅くなる心配はありません


まとめ

この Polyfill.io 、使い方はシンプルで便利な上にブラウザ判別の機能までついてもう最高じゃないですか?
これを使わない手✋はない!


私からは以上です。