一般的な WordPress テーマ開発の間違いを回避する方法

公開: 2021-02-16

WordPress は、特にテーマやプラグインの開発に関しては、信じられないほど柔軟であることで知られています。 証拠を見たい場合は、特定の機能をどのように実装するかを開発者のグループに尋ねてください。 同じ結果を達成するためのいくつかの異なる方法を受け取る可能性があります。 サポート フォーラムには、この種の例が散らばっています。

しかし、その柔軟性によって、物事を「間違った」方法で実行しやすいという現実もあります。 さて、この場合の「間違った」とは、何かが非効率的であるか、今後維持するのが少し面倒であることを意味します。 機能的であるという意味ではうまくいくかもしれませんが、通常、物事を成し遂げるためのより良い方法があります.

テーマ開発でよくある 5 つの間違いと、将来の頭痛の種を避けるための代替案を見てみましょう。

1. テンプレートで絶対 URL を使用する

WordPress のページや投稿が生成する HTML コードを見たことがあれば、画像と内部リンクの両方が絶対 (完全) URL を使用していることに気付くでしょう。 しかし、テーマ テンプレートにコードを追加する場合、これは最善の方法ではありません。

例として、一時 URL を使用する Web サイトを開発しているとします。 テンプレートにハードコードされた絶対 URL は、永続的なドメインでサイトを立ち上げる準備ができたときに、コードを手動で変更する必要があることを意味します。 これは可能ですが、このタイプのコードが潜んでいる可能性のある場所をすべて忘れがちです。

WordPress には、正しい URL を特定する方法が組み込まれています。これは、ダッシュボードのSettings > General領域から直接取得できます。

リンクの場合、 esc_url( home_url() )をエコーすると、ホームページへのフル パスが提供されます。 したがって、コードに URL を明示的に配置する代わりに、次のようにホームページに戻る簡単なリンクを追加できます。

 <a href="<?php echo esc_url( home_url() ); ?>" />Home</a>

さらに、これを使用してセカンダリ ページを指すこともできます。 たとえば、サイトの About Us ページにリンクする場合は、次のコードを使用できます。

 <a href="<?php echo esc_url( home_url() ); ?>/about-us/" />About Us</a>

同様のスニペットは画像にも機能します。 この例では、アクティブなテーマの/images/サブフォルダーから画像を取得します。

 <img src="<?php echo esc_url( get_stylesheet_directory_uri() ) ; ?>/images/hello.png" />

2. スクリプトとスタイルをテンプレートに直接追加する

WordPress でサードパーティのスクリプトとスタイルを使用することは、独自の世界です。 テーマの作成を初めて開始するときは、単純に<script>または<style>タグを配置したり、Google フォントの埋め込みコードをテーマのヘッダーに直接配置したくなるかもしれません。 これは一般的に静的 HTML サイトで行われる方法であるため、ここでも同じことを行うのが理にかなっています。

しかし、WordPress の他のほとんどすべての機能と同様に、より良い方法があります。 代わりに、 wp_enqueue_script()wp_enqueue_style()を利用してください。これにより、スクリプトとスタイルシートが適切な場所に追加されます。 また、すべてがテーマのfunctions.phpファイルから呼び出されるため、アセットの管理がはるかに簡単になります。

ここで車輪を再発明するのではなく、WordPress テーマハンドブックには、スクリプトとスタイルをテーマに適切に追加する方法に関する素晴らしいガイドがあります.

賢明な開発決定を行う

3. jQuery の外部インスタンスの呼び出し

関連するメモでは、WordPress の隠された秘密の 1 つは、いくつかの一般的な UI 機能と共に、jQuery のコピーが既に含まれていることです。 したがって、jQuery をインストールしたり、リモートで呼び出したりする必要はありません。 これにより、人気のある JavaScript ライブラリを利用して、タブ、日付ピッカー、ダイアログなどの要素を簡単に実装できます。

唯一の問題は、テーマのfunctions.phpファイルで使用したいアイテムを具体的に有効にする必要があることです。 これにより、学習曲線が少し作成されますが、肥大化も削減されます.

そして、正直なところ、目的の jQuery UI 要素を実装することはそれほど難しくありません。 たとえば、jQuery UI タブの使用を有効にするには、次のスニペットをfunctions.phpに追加するだけです。

 function my_jquery_elements() { wp_enqueue_script( 'jquery-ui-tabs', array('jquery')); add_action( 'template_redirect', my_jquery_elements ', 10 );

これにより、既存のライブラリから要素をロードするように WordPress に指示します。 そこから、タブを設計し、jQuery UI ドキュメントで指定されているように定義します。

4. カスタマイズの行き過ぎ

カスタム フィールドとカスタム投稿タイプを追加する機能により、開発者とサイト コンテンツ エディターの両方の作業がはるかに簡単になります。 それらは、利便性、優れたコンテンツ構成、およびより直感的な UX を提供します。 しかし、時には行き過ぎてしまうこともあります。

たとえば、私はカスタム フィールドの大ファンです。 しかし、柔軟性に欠けるほどテーマをカスタマイズしてしまったことが何度かあったことは認めます。 フィールドは、スタッフ メンバーのプロファイルのフィールドのように、どのコンテンツを入力する必要があるかを正確に把握している場合に最適です。

ただし、誰かが追加したいコンテンツの種類に矛盾があると、面倒になる可能性があります. クライアントは、カスタマイズの使用をより困難にする可能性のあるコンテンツに「軽微な」例外があることで有名です. 条件付きロジックはこれの一部を説明できますが、UI が手に負えなくなる前にそれを行うことができます。

このタイプのカスタマイズには厳格なルールはありません。 私たちが実際にできる唯一のことは、何をカスタマイズする必要があり、何を WordPress コンテンツ エディターまたはニッチなプラグインに任せた方がよいかについて、最善の判断を下すことです。 フィールドや投稿タイプを追加するときは、将来変更される可能性があることを理解し、それを念頭に置いて構築してください.

5. コードのコメント化の失敗

ここでもう 1 つ認めます。コードにコメントすることは、私の長所の 1 つではありません。 コメントをまったく使わないというわけではありませんが、それよりも、コメントがあまり明確ではないということです。 通常、私は特定の項目の開始点と終了点を指摘しますが、その間に多くの洞察はありません。 もっとやるべきですか? おそらくそうです。

コメントは、少なくともコード内のいくつかの参照ポイントを提供するため、重要です。 複数のものが含まれている PHP または JS ファイルを掘り下げるときは、特定のアイテムがどこにあるかを知りたいと思うでしょう。

そのコードを編集するのはあなただけだとしても、コメントを残すことを強くお勧めします。 たとえば、今から 6 か月後に何かを変更する必要がある場合、コードのスニペットを配置した正確な場所を覚えている可能性はほとんどありません。

だから、私は巨大な偽善者になるつもりはありません. しかし、ここでの最小限の労力でさえ、あなたやあなたの作業をくまなく調べなければならない他の開発者にとって、将来のメンテナンスが容易になると言えます。

最小限のコメントのコード

時間をかけてより良い技術

独自の WordPress テーマを構築することは、素晴らしい体験になる可能性があります。 しかし、適切にコーディングされた、保守しやすいテーマを作成するための詳細を理解するには、かなりの練習が必要です。 経験を積めば積むほど、技術は進化します。

正直なところ、私がまとめた最初のいくつかのテーマは、現在ほど効率的ではなかったと言えます。 また、真の専門家の開発者が見た場合、それらがまだ最新のものではない可能性があることも確信しています. その意味で、私たちの進化は絶え間ないものです。

最後に、私は個人的に上記の過ちをすべて犯したことに注意したいと思います. 「WordPress 方式」で物事を開始する方法を見つけたのは、試行錯誤と、Codex への数回の訪問だけでした。

教訓は、私たちは皆間違いを犯すということです。 しかし、それぞれが学び、改善する機会を与えてくれます。