Students Save 30%! Learn & create with unlimited courses & creative assets Students Save 30%! Save Now
Advertisement
  1. Code
  2. WordPress
Code

WordPress カスタマイザー JavaScript API: 入門

by
Length:ShortLanguages:
This post is part of a series called The WordPress Customizer JavaScript APIs.
Customizer JavaScript APIs: Panel, Section, and Control

Japanese (日本語) translation by Amelia Rossi (you can also view the original English article)

WordPress のカスタマイザーは実装されて以来、活発に開発されています。 JavaScript API を含め、API は絶えず進化しています。 しかしながら、WordPress Codex の中ではあまり文書化されていません。 そこで、実際に JavaScript API を活用する方法を書きました。

WordPress カスタマイザーの JavaScript API を活用することで、テーマカスタマイズ中にコントロールの変更をプレビューウィンドウに反映し、より魅力的なリアルタイム体験を提供することができます。

カスタマイザー JavaScript API を使用して、プレビューウィンドウにリアルタイムで変更を反映する方法についてご存知でしょうか。 実装するにはtransport モードを postMessage に設定し、対応する JavaScript コードを次のように追加します。

しかしながら、API をさらに拡張することもできます。例えば「セクション」「パネル」「コントロール」を隠す、表示する、または移動したり、他の設定値に基づいて設定値を変更する、プレビューとコントロールを相互に接続するなどです。 これらはチュートリアルで見てゆくものです。

簡単にはじめる

WordPress カスタマイザーには、カスタマイザー API の入力と出力を網羅するたくさんの記事と、いくつかのシリーズがあります。

WordPress Customizer のコアコンセプトと「パネル」「セクション」「セッティング」「コントロール」などのコンポーネントを理解していることを前提としています。 そうでない場合は、先に進む前にチュートリアルやビデオコースを視聴することをおすすめします。

設定とコントロール

はじめる前に、このチュートリアルの目的となるカスタマイザーの「設定」と「コントロール」を見てみましょう。 実際のコードも見てゆきます。

The Settings and Controls

チュートリアルでは、Web サイトの「サイトタイトル」にフォーカスします。 上のコードでは、通常の WordPress の「サイトタイトル」入力欄と、サイトタイトルを有効化または無効化するカスタムチェックボックスの2つのコントロールがあります。 これら2つのコントロールは「サイト基本情報」セクションにあります。 そして画像の右側にプレビューがあり、「サイトタイトル」が出力されています。

さらに以下のように、「サイトタイトル」の文字色と hover 色のを変える、色セクション内の2つのコントロールがあります

Header Text Color and Hover Color

基本コード

このテーマは Underscores をベースにしており、すべてのカスタマイザー関連のコードは /inc/customizer.php ファイル内にあります。

上のように、このチュートリアルでは私たちが必要としているコードをいくつか変更しました。

  • WordPress デフォルトの設定 blogdescription12 に下げ、チェックボックス設定 display_blogname が「サイトタイトル」入力フィールドの下に表示されるようにします。
  • display_blogname という名前の新しいコントロールを作成します。 今回は priority11 に設定し、「サイトタイトル」と「タグライン」入力フィールドの間にします。
  • header_text のデフォルト色を #f44336 に、transport タイプを postMessage に設定します。
  • 新しい設定 header_text_color も作成します。 同様に、header_textcolor 設定のすぐ下に表示されるように、優先順位を11に設定します。

これらの設定はすべて、refresh ではなく postMessage で設定されます。  postMessage オプションを使用すると、値を非同期に転送し、プレビューウィンドウにリアルタイムで表示できます。  ただし、変更を処理するために独自の JavaScript を記述する必要があります。

JavaScript の読み込み

JavaScript ファイルを2つ作成する必要があります。customizer-preview.js はプレビューを扱い、customizer-control.js はカスタマイザーパネル内のコントロールを処理します。

customizer-preview.js 内に以下のコードがあります。

今のところ、JavaScript 関数は空です。 このシリーズの次のチュートリアルで、プレビューウィンドウで変更をプレビューする方法をさらに詳しく説明します。

もう一方のファイル customizer-control.js に次のコードを追加します。

上のように、このファイルのコードはカスタマイザーの ready イベントにラップされます。 これにより、カスタマイズされた機能の実行を開始する前に、設定、パネル、コントロールを含むカスタマイザー内のすべてが完全に準備されていることを確かめます。

最後にコードを追加したら、これら2つの JavaScript ファイルをそれぞれ異なる位置で読み込みます。

customizer-preview.js ファイルは customize_preview_init アクションフックを介してカスタマイザープレビューウィンドウ内に読み込みます。 customizer-control.js ファイルは、カスタマイザーのバックエンドでロードします。ここで、設定とコントロール要素には、 customize_controls_enqueue_scripts アクションフックを使用してアクセスできます。

その次は?

WordPress は創業以来、PHP に非常に多くの時間を費やしてきました。  したがって、エコシステムをサポートする開発者の大部分が JavaScript API よりも PHP API に習熟しているのは驚くことではありません。

最近では、カスタマイザーと WP-API を使ってJavaScript と幅広く連携しています。  WordPress カスタマイザーで JavaScript API を把握することは非常に困難です。  言及したように、WordPress では現在のところ最もドキュメント化されていません。 したがって、私たちはこの問題を徹底的に踏まえます。

その間、WordPress 用の拡張ツールや WordPress で学ぶためのコードを構築するのに役立つユーティリティを探しているなら、Envato Market で利用可能なものをお忘れなく。

ここでは、WordPress JavaScript API を使用するための必須要素をすべて準備しました。  今回はここで終わりです。 シリーズの次の段階では、WordPress の JavaScript API の下にあるものをもっと明らかにし、テーマに即座に実装できる機能的なスクリプトを書くことにします。

乞うご期待!

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.