少し技術的な話:私たちが独自バージョンのショートコードマッピングをどのように実現したか

執筆者:

カテゴリ:

,

How-We-Made-Our-Version-Of-Shortcode-Mapping-Happen-2前回の記事では、ショートコードマッピングの基本と、その素晴らしいメリットを利用する方法について説明しました。続く内容は少し技術的になる可能性があるため、Page Builder Sandwichバージョンのショートコードマッピングを特集する記事を分割することにしました。

以下は、当社のショートコードマッピング機能の内部の仕組みと、それをどのように機能させたかについての詳細な解説です。

自動化されたプロセス

ショートコードマッパーにどのプラグインを含めるかを決定するために、次の基準に基づいてWordPressプラグインディレクトリ内のトッププラグインを収集する自動化スクリプトを作成しました:

  • 人気、高評価、更新された上位1,000件のプラグインに含まれ、4,000以上のアクティブインストールがあること
  • 4,000以上のアクティブインストールがあること、
  • 20件以上の評価があること、および;
  • 平均評価が3つ星以上であること

私たちはこのクエリをWordPressプラグインディレクトリに対して毎日実行しています。これらのフィルターにより、多くの人が使用している高品質のプラグインのリストを確実に取得できます。この記事を書いた時点では、この基準により800個のプラグインが該当しました。これは膨大な数です。本当に膨大です。

Some of the most popular plugins detected for shortcode mapping.
ショートコードマッピング用に検出された最も人気のあるプラグインの一部。

次に、各プラグインのソースコードに対して一連の自動チェックを実行し、ショートコードが含まれているかどうかを確認してから、すべての属性を含め、それらのショートコードをすべて見つけ出そうとします。データを処理した結果、2,000を超えるショートコードが検出されました。驚きです。検出されたショートコードは、手動検査のためにショートコードマッピングデータベースに入力されます。

このプロセスの終わりには、プラグインとそれらの潜在的なショートコードの膨大なリストが完成します。あとは、すべてが正しいことを確認するためにこのデータをクリーンアップするだけです。

手動プロセス

これがおそらくマッピングシステム全体の中で最も困難な部分です。プラグインのコードはさまざまな形式やサイズで提供されるため、すべてのショートコードがスクリプトによって自動的に検出されるわけではありません。WordPress Codexには、ショートコードの属性をフィルターするために `shortcode_atts` 関数を使用するように記載されていますが、これは推奨事項にすぎず、全員がそうしているわけではありません。また、プラグインがインストールされたときにショートコードの内部を確実にチェックする方法はありません。

そのため、すべてのショートコードとその属性を正しく取得できるように、AngularJSとBootstrapを使用して構築された、ショートコードと属性の編集専用のフロントエンドエリアを作成しました。

Bootstrap & AngularJS interface for fixing up all the mapped shortcodes.
マッピングされたすべてのショートコードを修正するためのBootstrapおよびAngularJSインターフェース。

私たちはすべてのプラグインを手作業で1つずつ確認し、ショートコードのドキュメントをチェックして、手元にあるデータがすべて正しいことを確認する必要があります。

これは骨の折れる面倒な作業ですが、プロセスを自動化することにはいくつかの利点もあります:

  • 初期の統計によると、ショートコードを持っているプラグインは約2つに1つだけです。
  • 検出されたショートコードの半分には属性がありません(ただし、一部は誤検出の可能性があります)
  • 高品質のプラグインのみを取得することにより、ショートコードのドキュメントが存在する可能性が非常に高くなります

プラグインのすべてのショートコードがチェックされた後でのみ、サーバーはそのプラグインのショートコードマッピングをユーザーへの配信を開始します。

REST APIコール

パズルの最後のピースはプラグイン自体です。ここでのコンセプトは単純です:アクティブなプラグイン、サイトが使用しているテーマ、使用可能なショートコードを確認し、マッピングがあるかどうかをショートコードマッピングデータベースに問い合わせます。このために、すべてのクライアントが最新のショートコードマッピングを取得するためにアクセスするカスタムWP REST APIエンドポイントを作成しました。

今後の展望:クラウドソーシング

各プラグインを手動でチェックするには、多くの時間と労力が必要です。ショートコードマッピングプラットフォームが安定したら、ショートコードマッピングを誰にでも開放する予定です。これにより、誰もがショートコードの追加に協力できるようになります。

「なぜショートコードのマッピングを手伝わなければならないのか? 自分にとって何の得があるのか?」と思われるかもしれません。人々が協力したいと思う理由として、いくつか思い浮かびます:

  1. あなたがプラグインを作成し、上記の基準(およびWordPressプラグインディレクトリにあること)のためにまだ私たちがそれをキャッチしていない場合、自分でマッピングを追加できます。あなたのプラグインはPBSによって完全にサポートされるようになります!
  2. 自動化されたプロセスではWordPressプラグインディレクトリ内のものしか処理しないため、プレミアムプラグインやテーマの作成者は含まれません。そのため、お持ちの場合はそれら用のショートコードマッピングも追加できます。
  3. そしてプラグイン作成者以外の方にも、手伝ってくれた方に報酬を提供することができます。ショートコードマッピングを魅力的な取り組みにするために、協力してくれた方に個人ライセンスや、PBSのプレミアムライセンスへのアップグレードを特典として提供できます!

ニュースレターに登録する

お客様向けのショートコードマッピング機能は、暫定的に8月12日  8月15日  2016年8月16日にリリースされる予定です。現時点ですべてのショートコードがマッピングされるわけではありませんが(当社の予測では約100個のプラグイン)、マッピングは継続的に行われ、新しいものがリリースされ次第、お客様に提供されます。

ニュースレターに登録して、ショートコードマッピングに関するニュース、リリース時期、ショートコードマッピングの一般公開時期などの情報を受け取りましょう!