ショートコードはパフォーマンスに影響しますか?このテクニックを使用している各プラグインはショートコードを探して投稿/ページコンテンツを解析しなければなりませんか?もしそうなら、できるだけ短いコードベースのプラグインを制限するのが良いでしょうか?
あなたはいくつかの観点からこれを見る必要があり、それからあなたはお互いに対してオッズを比較検討しなければなりません
一般に、ショートコードは、ショートコードハンドラによって解析および処理される必要があるため、遅くなります( ここではミリ秒単位で話しています )。
[my_shortcode]
一般的にショートコードは非常に便利で、通常は関数をハードコーディングして目的のテンプレートで呼び出すよりも少し遅くなる傾向があるという事実を上回ります。ショートコードは移植性があり( プラグインではがであるべきなので )、テーマ間の使用に優れています。テンプレートで特別なことをするためにテンプレートを変更する必要はありません。ショートコードを投稿エディタのコンテンツメタボックスにドロップするだけで済みます。
利便性と使いやすさのために、ショートコードは間違いなくここに行くための方法であり、ここにすべての肯定的なことは、スパゲッティコールバック関数を単独で使用しないためにわずか数ミリ秒で損失を上回る
do_shortcode()
はテンプレートにハードコードされていますあなたがdo_shortcode()
を通してショートコードを呼び出す必要があるならば、これは私が線を引くところです、そしてあなたはそれを間違ってやっています。私が言ったように、ショートコードは少し遅いので、ここでは単純な関数を書いてそれをプラグイン( 移植性のために推奨される )またはfunctions.php
に落として、それからあなたの関数に呼び出すほうがいいでしょう。テンプレート。
どちらの方法でも、あなたのショートコード、あるいはあなたが作成した関数あるいはクラスを呼び出すためにテンプレートを変更しなければならないでしょう。これが、私見ですが、ショートコードではなく、単純な関数または少し速いクラスを使用するべきである理由です。
ショートコードの使用をやめるか制限するべきですか。答えは簡単です、それはすべて上記のように用途に依存します。最後に、ページ内で複数のショートコードを呼び出す場合は、必要な機能を1つのしっかりした賢いショートコードにまとめて、必要なことをすべて実行できるようにしてください。
ペンを置く前に、 Query Monitor プラグインをダウンロードしてインストールします。私は個人的にはすべての開発者が彼/彼女のローカルテスト環境にこのプラグインをインストールしておくべきだと感じています。このプラグインは、いくつのクエリが作成されているか、それらのクエリを作成するのにかかる時間、そして特定のページをロードするのにかかった時間を教えてくれます。
いくつかの側面があります、そして、いつものように、パフォーマンスは文脈で取られなければならないものです。 Pieterの答えはあなたに1つを与えます - 「あなたは必要な機能を達成するための(より良い)方法さえありますか」。それを超えて、覚えておく価値があるいくつかの事実があります
あなたがショートコードと呼ばれていない場合、これはそれらがそれらの機能と呼ばれていないことを意味し、それゆえあなたのウェブサイトのパフォーマンスに影響を与えません。
また、あなたはあなたのサイトへの負荷を減らすために静的なクラスと変数を使うことができます。すべてのショートコードは1回だけuse functionになります。