国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目次
WordPressブロックとは正確には何ですか?
ブロックは単なるプラグインです。さて、技術(shù)的には、テーマに
ノードがインストールされていることを確認(rèn)してください
プラグインタイトルを追加
メタデータをブロック
登録ブロック
クイックテスト
私たちがしたことを見ていますか? @wordpress/block-editorパッケージから小道具をインポートしています。これにより、後でスタイルに使用できるクラスを生成できます。また、翻訳を処理するために__國(guó)際化関數(shù)をインポートします。
いくつかのCSSファイルをビルドディレクトリに配置し、src/block.jsonのパスを參照して、ビルドを?qū)g行してから実行できます。しかし、これは @wordpress/scriptsコンパイルプロセスを最大限に活用していません。これにより、SASSをCSSにコンパイルできます。代わりに、SRCディレクトリにスタイルファイルを配置し、JavaScriptにインポートします。
ホームページ ウェブフロントエンド CSSチュートリアル WordPressブロック開発を開始します

WordPressブロック開発を開始します

Mar 10, 2025 am 11:11 AM

Getting Started With WordPress Block Development

WordPress開発は現(xiàn)在、あなたが初心者であろうと上級(jí)開発者であろうと、ブロックエディター(WordPress 5.0)やサイトエディター(WordPress 5.9)を含む「サイト全體の編集」(FSE)機(jī)能の導(dǎo)入を受けています。

私たちは5年間ブロックエディターと連絡(luò)を取り合っていますが、ドキュメントが欠落または時(shí)代遅れのいずれかであるため、その開発は依然として困難です。これは、FSE関數(shù)の急速な反復(fù)の現(xiàn)在の狀況をより多く反映しています。

たとえば、

2018年には、Gutenberg Developmentの紹介に関する一連の記事がCSS-Tricksで公開されました。しかし、時(shí)間が経ち、その開発方法はまだ効果的ですが、それはもはや推奨されません(さらに、それが基づいているCreate-Guten-Blockプロジェクトはもはや維持されていません)。

この記事は、WordPressブロックの開発を開始し、現(xiàn)在のアプローチに従うのに役立つことを目的としています。もちろん、この記事が公開された後、狀況は変わるかもしれません。しかし、たとえツールが時(shí)間の経過とともに開発されたとしても、コアの概念は同じままである可??能性が高いため、私はそのコアアイデアに焦點(diǎn)を合わせようとします。

WordPressブロックとは正確には何ですか?

最初に、「ブロック」などのいくつかの用語を明確にしましょう。 WordPress 5.0より前のこれらの機(jī)能のすべての開発は、コード名「Gutenberg」(印刷の発明者)とともに使用されました。

それ以來、「Gutenberg」は、ブロックエディターやサイトエディターを含むブロックに関連するすべてを説明するために使用されているため、一部の人々が名前を嫌うほど複雑になっています。最も重要なことは、將來に含まれる可能性のある実験機(jī)能をテストするためのGutenbergプラグインもあります。このすべての「ウェブサイト全體の編集」を呼び出すことが問題を解決できると思う場(chǎng)合、いくつかの懸念もあります。

したがって、この記事では、「ブロック」を參照するときに、WordPressブロックエディターでコンテンツを作成するコンポーネントを參照します。ブロックはページまたは記事に挿入され、特定の種類のコンテンツの構(gòu)造を提供します。 WordPressには、パラグラフ、リスト、畫像、ビデオ、オーディオなど、一般的なコンテンツタイプの「コア」ブロックが付屬しています。

これらのコアブロックに加えて、カスタムブロックを作成することもできます。これは、WordPressブロック開発の焦點(diǎn)です(コアブロックをフィルタリングして機(jī)能を変更することもできますが、當(dāng)面は必要ない場(chǎng)合があります)。

ブロックの役割

ブロックの作成に飛び込む前に、まずブロックが內(nèi)部的にどのように機(jī)能するかを理解する必要があります。これは間違いなく私たちに將來私たちに多くのトラブルを救うでしょう。

私は抽象的にブロックを理解するのが好きです:特定のコンテンツを表す特定の屬性(屬性と呼ばれる)を持つエンティティ。私はこれが曖昧に聞こえることを知っていますが、説明するために私に我慢してください。ブロックは基本的に、ブロックエディターのグラフィカルインターフェイスとして、またはデータベース內(nèi)のデータブロックとしての2つの方法で現(xiàn)れます。

WordPressブロックエディターを開いてブロック(プルコートブロックなど)を挿入すると、素?cái)长圣ぅ螗咯`フェイスが得られます。インターフェイスをクリックして、參照されるテキストを編集できます。ブロックエディターUIの右側(cè)にある設(shè)定パネルには、テキストを調(diào)整し、ブロックの外観を設(shè)定するためのオプションを提供します。

美しい引用の作成が終了し、パブリックをクリックすると、投稿全體がデータベースのwp_postsテーブルに保存されます。これはグーテンバーグのために新しいものではありません。これが物事が常に機(jī)能してきた方法です-WordPressは、データベースの指定されたテーブルに記事のコンテンツを保存します。しかし、新しいものは、プルコートブロックの表現(xiàn)は、wp_postsテーブルのpost_contentフィールドに保存されているコンテンツの一部であるということです。

この表現(xiàn)はどのように見えますか?見てみましょう:

<blockquote>
    <p>It is not an exaggeration to say that peas can be described as nothing less than perfect spheres of joy.</p>
    <cite>The Encyclopedia of world peas</cite>
  </blockquote>
通常のHTMLのように見えますよね? !技術(shù)的には、これは「シリアル化された」ブロックです。 HTMLコメント「TextAlign」:「右」のJSONデータに注意してください。これは、

屬性 - ブロック関連屬性です。

ブロックエディターを閉じてから、しばらくすると再び開くとします。ブロックエディターは、関連するpost_contentフィールドのコンテンツを取得します。その後、編集者は取得されたコンテンツを解析し、次のことに遭遇したときに次のように解析します。

それはそれ自體と話します:
<code>...</code>

わかりました、これはプルコートブロックのように見えます。まあ...プロパティもあります...私は、エディターのプロパティに基づいて、エディターにプルコートブロックのグラフィカルインターフェイスを構(gòu)築する方法を教えてくれるJavaScriptファイルを持っています。このブロックがその完全な栄光の中で提示されるように、私は今これを行うべきです。

ブロック開発者として、あなたの仕事は
です

WordPressに、特定の種類のブロックと関連する詳細(xì)を登録することを伝えます。
  1. ブロックエディターにJavaScriptファイルを提供します。これは、データベースに保存するために「シリアル化」しながらエディタにブロックをレンダリングするのに役立ちます。
  2. スタイルやフォントなど、ブロックが適切に機(jī)能するために必要な他のリソースを提供します。
  3. シリアル化されたデータからグラフィカルなインターフェイス、およびその逆へのこの変換は、ブロックエディターでのみ発生することに注意することが重要です。フロントエンドでは、コンテンツが表示され、まったく同じ方法で保存されます。したがって、ある意味では、ブロックはデータをデータベースに入れる賢い方法です。

これにより、ブロックがどのように機(jī)能するかをより明確に理解できることを願(yuàn)っています。

ブロックはプラグインだけです

ブロックは単なるプラグインです。さて、技術(shù)的には、テーマに

ブロックを配置したり、1つのプラグインに複數(shù)のブロックを配置したりできます。ただし、通常、ブロックを作成したい場(chǎng)合は、プラグインを作成する必要があります。したがって、WordPressプラグインを作成したことがある場(chǎng)合は、WordPressブロックの作成方法を部分的に習(xí)得しました。

しかし、ブロックはもちろん、WordPressプラグインをセットアップしたことがないと仮定しましょう。どこから始めますか? set block

ブロックとは何かを既に紹介しています。セットアップを開始して作成します。

ノードがインストールされていることを確認(rèn)してください

これにより、NPMがブロックの依存関係をインストールし、コンテンツをコンパイルするのに役立つNPMおよびNPXコマンドにアクセスできます。NPXはパッケージをインストールせずにパッケージでコマンドを?qū)g行します。 MacOSを使用している場(chǎng)合は、ノードをインストールしている可能性があり、NVMを使用してバージョンを更新できます。 Windowsを使用している場(chǎng)合は、ノードをダウンロードしてインストールする必要があります。

プロジェクトフォルダーを作成

今では、コマンドラインに直接ジャンプする他のチュートリアルに出くわし、 @wordpress/create-blockというパッケージをインストールするように指示することができます。このパッケージは、開発を開始するために必要なすべての依存関係とツールを備えた完全なプロジェクトフォルダーを生成するため、素晴らしいです。

私は自分のブロックをセットアップするときにこのアプローチを個(gè)人的に取りますが、導(dǎo)入する主観的なコンテンツを排除し、理解のために基本的な開発環(huán)境の必要な部分のみに焦點(diǎn)を當(dāng)てたいので、しばらく私を容認(rèn)してください。

これらは私が具體的に指摘したいドキュメントです:

    readme.txt:これは、プラグインディレクトリの前面に少し似ています。これは通常、プラグインを説明し、使用とインストールの詳細(xì)を提供するために使用されます。 WordPress Plugin Directoryにブロックを送信すると、このファイルはプラグインページの登録に役立ちます。ブロックプラグイン用のGitHubリポジトリを作成する予定がある場(chǎng)合は、同じ情報(bào)を持つreadme.mdファイルを使用して、そこによく表示されるようにすることも検討してください。
  • package.json:これは、開発に必要なノードパッケージを定義します。インストール時(shí)に開きます。古典的なWordPressプラグインの開発では、Composer and Composer.jsonファイルの使用に慣れている場(chǎng)合があります。これは同等です。
  • Plugin.php:これはメインプラグインファイルです。はい、古典的なPHPです!プラグインのタイトルとメタデータをここに配置し、それを使用してプラグインを登録します。
これらのファイルに加えて、ブロックのソースコードを含める必要があるSRCディレクトリもあります。

これらのファイルとSRCディレクトリを開始するのに十分です。そのグループでは、プラグインを作成するには実際に

(Plugin.php)のみが必要であることに注意してください。殘りは情報(bào)を提供するか、開発環(huán)境を管理するために使用されます。

前述の @wordpress/create-blockパッケージは、これらのファイルを私たちのために構(gòu)築します(その他)。必要ではなく、自動(dòng)化ツールと考えることができます。とにかく作業(yè)を簡(jiǎn)単にするので、次のコマンドを?qū)g行することでブロックを自由に使用して使用できます。 ブロック依存関係のインストール

前のセクションで記載されている3つのファイルを準(zhǔn)備し、依存関係をインストールする時(shí)が來たとします。まず、必要な依存関係を指定する必要があります。これを行います。package.jsonを編集します。 @wordpress/create-blockユーティリティを使用する場(chǎng)合、以下が生成されます(注釈が追加されました; JSONは注釈をサポートしていないため、コードをコピーする場(chǎng)合は、注釈を削除してください):
<blockquote>
    <p>It is not an exaggeration to say that peas can be described as nothing less than perfect spheres of joy.</p>
    <cite>The Encyclopedia of world peas</cite>
  </blockquote>
<blockquote>
    <p>It is not an exaggeration to say that peas can be described as nothing less than perfect spheres of joy.</p>
    <cite>The Encyclopedia of world peas</cite>
  </blockquote>

necommentedバージョンを表示 `` `json { 「名前」:「ブロック例」、 「バージョン」:「0.1.0」、 「説明」:「Create Blockツールで足場(chǎng)にあるブロックの例」、 「著者」:「ワードプレスの寄稿者」、 「ライセンス」:「gpl-2.0-or-later」、 「メイン」:「build/index.js」、 「スクリプト」:{ 「ビルド」:「WPScripts Build」、 「フォーマット」:「WPScriptsフォーマット」、 「Lint:CSS」:「WP-Scripts Lint-Style」、 「Lint:JS」:「WP-Scripts Lint-JS」、 「Packages-Update」:「WP-Scripts Packages-date」、 「Plugin-Zip」:「WP-ScriptsプラグインZIP」、 「start」:「wpscripts start」 }、 「devdependicies」:{ 「@wordpress/scripts」:「^24.1.0」 } }

<code>...</code>

Package.jsonがセットアップされたので、コマンドラインのプロジェクトフォルダーに移動(dòng)してNPMインストールを?qū)g行することにより、これらすべての依存関係をインストールできるはずです。

プラグインタイトルを追加

クラシックなWordPressプラグインの開発から來た場(chǎng)合、すべてのプラグインがメインプラグインファイルに情報(bào)があることを知っているでしょう。これにより、WordPressがプラグインを認(rèn)識(shí)し、WordPress管理パネルのプラグイン畫面に情報(bào)を表示するのに役立ちます。

以下は、「hello world」と呼ばれる創(chuàng)造的に呼ばれる @wordpress/create-blockによって作成されたプラグインです。

npx @wordpress/create-block
これはメインプラグインファイルにあり、好きなように名前を付けることができます。 index.phpやplugin.phpなどの一般名と呼ぶことができます。 Create-Blockパッケージは、インストール時(shí)に提供されたプロジェクト名として自動(dòng)的に名前を付けます。この例を「ブロック例」と呼んでいるため、パッケージはこれらすべてを使用したブロックexample.phpファイルを提供します。

自分を著者にするなど、いくつかの詳細(xì)を変更する必要があります。これのすべてが必要なわけではありません。 「ヘッド」から始めたら、これに近いかもしれません:

{
  // 定義項(xiàng)目名稱
  "name": "block-example",
  // 使用語義版本控制設(shè)置項(xiàng)目版本號(hào)
  "version": "0.1.0",
  // 項(xiàng)目的簡(jiǎn)短描述
  "description": "Example block scaffolded with Create Block tool.",
  // 您可以將其替換為您自己
  "author": "The WordPress Contributors",
  // 標(biāo)準(zhǔn)許可信息
  "license": "GPL-2.0-or-later",
  // 定義主JavaScript文件
  "main": "build/index.js",
  // 我們?cè)陂_發(fā)過程中構(gòu)建和編譯插件所需的一切
  "scripts": {
    "build": "wp-scripts build",
    "format": "wp-scripts format",
    "lint:css": "wp-scripts lint-style",
    "lint:js": "wp-scripts lint-js",
    "packages-update": "wp-scripts packages-update",
    "plugin-zip": "wp-scripts plugin-zip",
    "start": "wp-scripts start"
  },
  // 定義使用腳本包的哪個(gè)版本(撰寫本文時(shí)為24.1.0)
  // https://developer.wordpress.org/block-editor/reference-guides/packages/packages-scripts/
  "devDependencies": {
    "@wordpress/scripts": "^24.1.0"
  }
}
これはすでにWordPressプラグインマニュアルの完全なパターンであるため、各行の正確な目的について詳しく説明しません。

ファイル構(gòu)造

ブロックに必要なファイルを表示しました。ただし、 @wordpress/create-blockを使用している場(chǎng)合は、プロジェクトフォルダーに他の多くのファイルが表示されます。

以下は現(xiàn)在含まれているものです

すごい、たくさん!新しいコンテンツを指摘しましょう:
<code>
這里的@wordpress/scripts包是主要的依賴項(xiàng)。如您所見,它是一個(gè)devDependency,這意味著它有助于開發(fā)。如何?它公開了wp-scripts二進(jìn)制文件,我們可以使用它來編譯我們的代碼,從src目錄到build目錄,等等。

WordPress維護(hù)了許多其他軟件包,用于各種目的。例如,@wordpress/components軟件包為WordPress區(qū)塊編輯器提供了一些預(yù)制UI組件,可用于為區(qū)塊創(chuàng)建一致的用戶體驗(yàn),并符合WordPress設(shè)計(jì)標(biāo)準(zhǔn)。

您實(shí)際上*不需要*安裝這些軟件包,即使您想使用它們也是如此。這是因?yàn)檫@些@wordpress依賴項(xiàng)不會(huì)與您的區(qū)塊代碼捆綁在一起。相反,任何引用實(shí)用程序軟件包代碼的導(dǎo)入語句——例如@wordpress/components——都用于在編譯期間構(gòu)造“資產(chǎn)”文件。此外,這些導(dǎo)入語句被轉(zhuǎn)換為將導(dǎo)入映射到全局對(duì)象的屬性的語句。例如,import { \_\_ } from "@wordpress/i18n"被轉(zhuǎn)換為const \_\_ = window.wp.i18n.\_\_的縮小版本。(window.wp.i18n是一個(gè)保證在全局范圍內(nèi)可用的對(duì)象,一旦相應(yīng)的i18n軟件包文件被排隊(duì))。

在插件文件中注冊(cè)區(qū)塊期間,隱式使用“資產(chǎn)”文件來告訴WordPress區(qū)塊的軟件包依賴項(xiàng)。這些依賴項(xiàng)會(huì)自動(dòng)排隊(duì)。所有這些都在幕后完成,前提是您使用的是scripts軟件包。也就是說,您仍然可以選擇在package.json文件中本地安裝依賴項(xiàng)以進(jìn)行代碼完成和參數(shù)信息:

```json
// etc.
"devDependencies": {
  "@wordpress/scripts": "^24.1.0"
},
"dependencies": {
  "@wordpress/components": "^19.17.0"
}</code>
  • ビルド/:このフォルダーは、生産対策ファイルを処理するときにコンパイルされた資産を受信します。
  • node_modules:このフォルダーは、NPMインストールを?qū)g行するときにインストールされたすべての開発依存関係を保持します。
  • SRC/:このフォルダーには、コンパイルされてビルドディレクトリに送信されるプラグインのソースコードが保持されます。それらのそれぞれを後で見ます。
  • .EditorConfig:これには、コードの一貫性についてコードエディターを微調(diào)整するための構(gòu)成が含まれています。
  • .Gitignore:これは、バージョン制御追跡から除外するローカルファイルを識(shí)別する標(biāo)準(zhǔn)リポジトリファイルです。あなたのnode_modulesは間違いなくここに含まれるべきです。
  • package-lock.json:これは、NPMインストールを使用してインストールされた必要なパッケージの更新を追跡する自動(dòng)生成ファイルです。

メタデータをブロック

私はあなたと一緒にSRCディレクトリを掘り下げたいと思っていますが、最初にファイルの1つであるblock.jsonに焦點(diǎn)を當(dāng)てます。 Create-Blockを使用している場(chǎng)合は、それを作成してください。 WordPressは、WordPressのコンテキストを提供するメタデータを提供してブロックを同時(shí)に識(shí)別し、ブロックエディターにレンダリングするメタデータを提供することにより、ブロックを登録するための標(biāo)準(zhǔn)仕様方法として使用するように懸命にプッシュしています。

以下は、 @wordpress/create-blockが私のために生成するものです:

<blockquote>
    <p>It is not an exaggeration to say that peas can be described as nothing less than perfect spheres of joy.</p>
    <cite>The Encyclopedia of world peas</cite>
  </blockquote>
実際には、ここにはさまざまな情報(bào)を含めることができますが、名前とタイトルのみが必要です。スーパーライトバージョンは次のようになるかもしれません:

<blockquote>
    <p>It is not an exaggeration to say that peas can be described as nothing less than perfect spheres of joy.</p>
    <cite>The Encyclopedia of world peas</cite>
  </blockquote>
  • $スキーマファイルのコンテンツを確認(rèn)するために使用されるスキーマ形式を定義します。必要なもののように聞こえますが、サポートされているコードエディターが構(gòu)文を確認(rèn)し、ツールチップやオートコンプリートなどの追加機(jī)能を提供できるため、完全にオプションです。
  • Apiversionとは、プラグインで使用されるブロックAPIのバージョンを指します。今日、バージョン2は最新バージョンです。
  • 名前は、プラグインを識(shí)別するのに役立つ必要な一意の文字列です。その前にCSS-Tricks/を追加したことに注意してください。これを名前空間として使用して、同じ名前の他のプラグインとの競(jìng)合を回避するのに役立ちます。頭字語のようなもの(as/block-exampleなど)を使用することを選択できます。
  • バージョンは、新しいバージョンをリリースする際のキャッシュクリアリングメカニズムとしてWordPressによって推奨されます。
  • タイトルは、ディスプレイプラグインがどこにでも使用される名前を設(shè)定する必要な別のフィールドです。
  • カテゴリグループは、他のブロックでブロックし、ブロックエディターにそれらを一緒に表示します?,F(xiàn)在存在するカテゴリには、テキスト、メディア、デザイン、ウィジェット、テーマ、埋め込みが含まれます。また、カスタムカテゴリを作成することもできます。
  • アイコンを使用すると、Dashiconsライブラリから何かを選択して、ブロックエディターのブロックを視覚的に表現(xiàn)できます。この例では、私たちが自分のプルコートなどを作っているので、フォーマットクオートアイコンを使用しています。これは確かに可能ですが、それは素晴らしいことですが、私たちは自分のものを作成するのではなく、既存のアイコンを利用できます。
  • editorscriptは、メインのJavaScriptファイルindex.jsが配置されている場(chǎng)所です。

登録ブロック

実際のコードに入る前にもう1つのことは、プラグインを登録することです。このすべてのメタデータを設(shè)定するだけで、WordPressを使用する方法が必要です。このように、WordPressはすべてのプラグイン資産を見つける場(chǎng)所を知っているため、ブロックエディターで使用するためにキューに入れることができます。

ブロックの登録は2段階のプロセスです。 PHPとJavaScriptに登録する必要があります。 PHPの側(cè)面については、メインプラグインファイル(この場(chǎng)合はブロックexample.php)を開き、プラグインタイトルの後に以下を追加します。

<code>...</code>
これは、Create-Blockユーティリティが私にとって生成するものであるため、このような方法で機(jī)能が命名されています。異なる名前を使用できます。重要なのは、他のプラグインとの競(jìng)合を避けることです。そのため、ここで名前空間を使用して可能な限りユニークにすることをお?jiǎng)幛幛筏蓼埂?

すべてのブロックメタデータを含むblock.jsonがSRCにある場(chǎng)合、なぜビルドディレクトリを指すのですか?これは、コードをコンパイルする必要があるためです。スクリプトパッケージは、SRCディレクトリ內(nèi)のファイルのコードを処理し、Buildディレクトリの生産で使用されるコンパイルされたファイルを配置し、

block.json
npx @wordpress/create-block
ファイル

をコピーします。 わかりました、登録ブロックのJavaScriptの側(cè)面に行きましょう。 src/index.jsを開き、次のように見えることを確認(rèn)してください:

私たちはReactとJSXの世界に入っています!これは、WordPressを伝えます:

  • @wordpress/blocksパッケージからレジスタブロックタイプモジュールをインポートします。
  • block.jsonからメタデータをインポートします。
  • 対応するファイルからコンポーネントを編集および保存します。後でこれらのファイルにコードを追加します。
  • ブロックを登録して編集してコンポーネントを保存してブロックをレンダリングし、コンテンツをデータベースに保存します。

編集および保存機(jī)能で何が起こっていますか? WordPressブロック開発の微妙さの1つは、「バックエンド」と「Frontend」の區(qū)別です。これらのコンテキストでブロックのコンテンツをレンダリングするために使用されます。編集では、編集がブロックエディターからコンテンツをデータベースに保存して、WebサイトのFrontendでコンテンツをレンダリングします。

クイックテスト

ブロックがブロックエディターで動(dòng)作し、フロントエンドでレンダリングされるかどうかを迅速に操作して確認(rèn)できます。 index.jsをもう一度開き、編集を使用して機(jī)能を保存して、基本を返して、それらがどのように機(jī)能するかを説明します。

<blockquote>
    <p>It is not an exaggeration to say that peas can be described as nothing less than perfect spheres of joy.</p>
    <cite>The Encyclopedia of world peas</cite>
  </blockquote>
これは基本的に以前のコードのスリムなバージョンです。ブロック名を取得して編集してコンポーネントを省略し、ここから直接実行するため、コンポーネントを保存して保存することだけです。

コマンドラインでnpm runビルドを?qū)g行してコンパイルできます。その後、ブロックエディターの「ブロック例」という名前のブロックにアクセスできます。

コンテンツ領(lǐng)域にブロックを入れた場(chǎng)合、編集関數(shù)からメッセージを返します:

記事を保存して公開する場(chǎng)合、フロントエンドで表示するときは、保存関數(shù)からメッセージを返す必要があります。

ブロックを作成します

すべてが正常であるように見えます!すべてが問題ないことを確認(rèn)したので、テスト前にindex.jsにあるものに復(fù)元できます:

編集および保存関數(shù)は、SRCディレクトリの @wordpress/create-blockによって生成された2つの既存のファイルに関連付けられており、各ファイルに必要なその他のインポートが含まれていることに注意してください。さらに重要なことは、これらのファイルがブロックタグを含むコンポーネントの編集と保存を作成します。

<code>...</code>
バックエンドタグ(src/edit.js)

私たちがしたことを見ていますか? @wordpress/block-editorパッケージから小道具をインポートしています。これにより、後でスタイルに使用できるクラスを生成できます。また、翻訳を処理するために__國(guó)際化関數(shù)をインポートします。

npx @wordpress/create-block
フロントエンドタグ(src/save.js)

これにより保存コンポーネントが作成されます。SRC/edit.jsとほぼ同じコンテンツを使用しますが、テキストはわずかに異なります。

同様に、CSSで使用できる素?cái)长圣楗工蚴证巳毪欷蓼筏俊?

スタイルブロック

{
  // 定義項(xiàng)目名稱
  "name": "block-example",
  // 使用語義版本控制設(shè)置項(xiàng)目版本號(hào)
  "version": "0.1.0",
  // 項(xiàng)目的簡(jiǎn)短描述
  "description": "Example block scaffolded with Create Block tool.",
  // 您可以將其替換為您自己
  "author": "The WordPress Contributors",
  // 標(biāo)準(zhǔn)許可信息
  "license": "GPL-2.0-or-later",
  // 定義主JavaScript文件
  "main": "build/index.js",
  // 我們?cè)陂_發(fā)過程中構(gòu)建和編譯插件所需的一切
  "scripts": {
    "build": "wp-scripts build",
    "format": "wp-scripts format",
    "lint:css": "wp-scripts lint-style",
    "lint:js": "wp-scripts lint-js",
    "packages-update": "wp-scripts packages-update",
    "plugin-zip": "wp-scripts plugin-zip",
    "start": "wp-scripts start"
  },
  // 定義使用腳本包的哪個(gè)版本(撰寫本文時(shí)為24.1.0)
  // https://developer.wordpress.org/block-editor/reference-guides/packages/packages-scripts/
  "devDependencies": {
    "@wordpress/scripts": "^24.1.0"
  }
}
ブロックプロパティを使用してクラスを作成する方法を紹介しました。あなたはこれをCSS関連のWebサイトで読んでいるので、ブロックスタイルの書き方を具體的にカバーしていなければ、何かを見逃しているように感じます。

フロントエンドとバックエンドのスタイルを區(qū)別します

  • EditorStyleは、バックエンドに適用されるスタイルへのパスを提供します。
  • スタイルは、フロントエンドとバックエンドに適用される共有スタイルへのパスです。
  • Kev Quirkには、バックエンドエディターをフロントエンドUIのように見せる方法を示す詳細(xì)な記事があります。

    @wordpress /scriptsパッケージは、 /srcディレクトリのコードを処理し、コンパイルされた資産を /buildディレクトリに配置するときにblock.jsonファイルをコピーすることを思い出してください。ブロックの登録に使用されるbuild/block.jsonファイル。これは、SRC/block.jsonで提供するパスは、build/block.jsonに関連して記述する必要があることを意味します。 SASS

    を使用しています

    いくつかのCSSファイルをビルドディレクトリに配置し、src/block.jsonのパスを參照して、ビルドを?qū)g行してから実行できます。しかし、これは @wordpress/scriptsコンパイルプロセスを最大限に活用していません。これにより、SASSをCSSにコンパイルできます。代わりに、SRCディレクトリにスタイルファイルを配置し、JavaScriptにインポートします。

    これを行うとき、 @wordpress/scriptsがスタイルを処理する方法に注意する必要があります:

    style.cssまたはstyle.scssまたはstyle.sassという名前のファイルは、javascriptコードにインポートされたものがstyle-index.cssにコンパイルされます。
    • 他のすべてのスタイルファイルがコンパイルされ、index.cssにバンドルされます。
    • @wordpress/scriptsパッケージは、webpackを使用してバンドルされ、postcssプラグインを使用してスタイルを張られています。 PostCSSは、他のプラグインで拡張できます。スクリプトパッケージでは、SASS、SCSS、およびAutoprefixerのプラグインを使用します。これらはすべて、追加のパッケージをインストールせずに使用できます。

    実際には、 @wordpress/create-blockで最初のブロックを開始すると、SCSSファイルを非常にうまく開始できます。これらのファイルを使用してすぐに開始できます。

    editor.scssには、バックエンドエディターに適用されるすべてのスタイルが含まれています。

      style.scssには、フロントエンドとバックエンドで共有されるすべてのスタイルが含まれています。
    • ブロックCSSにコンパイルするSASSを書いて、それをしましょう。これらの例はあまりsassedではありませんが、私はまだそれらをSCSSファイルに書き込み、コンパイルプロセスを?qū)g証しています。
    フロントエンドおよびバックエンドのスタイル

    わかりました、フロントエンドとバックエンドに適用されるスタイルから始めましょう。まず、src/style.scssを作成する必要があります( @wordpress/create-blockを使用している場(chǎng)合は既に存在します)。

    src/style.scssを開いて、ブロック屬性から生成したクラスを使用して基本的なスタイルをいくつか掲載します:

    <blockquote>
        <p>It is not an exaggeration to say that peas can be described as nothing less than perfect spheres of joy.</p>
        <cite>The Encyclopedia of world peas</cite>
      </blockquote>
    それは今すべてです!ビルドを?qū)g行すると、これはbuild/style.cssにコンパイルされ、ブロックエディターとフロントエンドによって參照されます。

    バックエンドスタイル
    <code>...</code>

    ブロックエディター固有のスタイルを作成する必要がある場(chǎng)合があります。これを行うには、src/editor.scssを作成します(繰り返しますが、 @wordpress/create-blockがこれを行います)。

    <blockquote>
        <p>It is not an exaggeration to say that peas can be described as nothing less than perfect spheres of joy.</p>
        <cite>The Encyclopedia of world peas</cite>
      </blockquote>

    今、npm runビルドを?qū)g行すると、スタイルは両方のコンテキストでブロックに適用されます。

    block.jsonの參照スタイル

    edit.jsおよびindex.jsにスタイルファイルをインポートしましたが、コンパイルステップはビルドディレクトリ(index.css and style-index.css)で2つのCSSファイルを生成することを忘れないでください。ブロックメタデータ?jī)?nèi)のこれらの生成されたファイルを參照する必要があります。

    block.jsonメタデータにいくつかのステートメントを追加しましょう:

    <code>...</code>
    npm run build buildを再度実行し、WordPress Webサイトのプラグインをインストールしてアクティブ化すると、使用する準(zhǔn)備が整いました!

    NPMの実行開始を使用して監(jiān)視モードでビルドインモードを?qū)g行でき、コードを変更して保存するたびにコードが自動(dòng)的にコンパイルされます。

    表面に觸れた

    実際のブロックは、ブロックエディターの設(shè)定サイドバーとWordPressが提供するその他の機(jī)能を使用して、リッチなユーザーエクスペリエンスを作成します。また、ブロックには実際に編集と保存の2つのバージョンがあるため、コードの複製を避けるためにコードを整理する方法についても考える必要があります。

    しかし、これがWordPressブロックを作成する全體的なプロセスの謎を削除するのに役立つことを願(yuàn)っています。これは確かにWordPress開発の新しい時(shí)代です。物事を行う新しい方法を?qū)Wぶことは困難ですが、私はそれが発展するのを見るのを楽しみにしています。 @wordpress/create-blockのようなツールは、それが何をしていて、その理由を知っているのは素晴らしいことです。

    ここで紹介するコンテンツは変わりますか?可能性が非常に高い!しかし、少なくとも參考のためのベースラインがあります。なぜなら、WordPressブロックの成熟度に焦點(diǎn)を當(dāng)て続けているからです。

    リファレンス

    繰り返しますが、私の目標(biāo)は、この急速に成長(zhǎng)している時(shí)代にブロック開発に入るための効率的なパスを計(jì)畫することであり、WordPressドキュメントは追いつくのが少し難しいです。これらのコンテンツを整理するために使用したリソースは次のとおりです。

    キーコンセプト(WordPressブロックエディターマニュアル)
    • ブロックチュートリアル(WordPress Block Editor Manual)を作成します
    • block.jsonのメタデータ(wordpress blockエディターマニュアル)
    • コアブロックのソースコード(WordPress github)
    • @wordpress/scriptsパッケージ(wordpress github)で使用されるwebpack構(gòu)成
    • ブロックエディターブロックを構(gòu)築することを?qū)Wぶバックエンジニア、パート1(トムマクファーリン)
    • Ryan WelcherのTwitch Live Broadcast(RyanはAutomattic Developer Advocateです)

    以上がWordPressブロック開発を開始しますの詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國(guó)語 Web サイトの他の関連記事を參照してください。

    このウェブサイトの聲明
    この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當(dāng)する法的責(zé)任を負(fù)いません。盜作または侵害の疑いのあるコンテンツを見つけた場(chǎng)合は、admin@php.cn までご連絡(luò)ください。

    ホットAIツール

    Undress AI Tool

    Undress AI Tool

    脫衣畫像を無料で

    Undresser.AI Undress

    Undresser.AI Undress

    リアルなヌード寫真を作成する AI 搭載アプリ

    AI Clothes Remover

    AI Clothes Remover

    寫真から衣服を削除するオンライン AI ツール。

    Clothoff.io

    Clothoff.io

    AI衣類リムーバー

    Video Face Swap

    Video Face Swap

    完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡(jiǎn)単に交換できます。

    ホットツール

    メモ帳++7.3.1

    メモ帳++7.3.1

    使いやすく無料のコードエディター

    SublimeText3 中國(guó)語版

    SublimeText3 中國(guó)語版

    中國(guó)語版、とても使いやすい

    ゼンドスタジオ 13.0.1

    ゼンドスタジオ 13.0.1

    強(qiáng)力な PHP 統(tǒng)合開発環(huán)境

    ドリームウィーバー CS6

    ドリームウィーバー CS6

    ビジュアル Web 開発ツール

    SublimeText3 Mac版

    SublimeText3 Mac版

    神レベルのコード編集ソフト(SublimeText3)

    「レンダリングブロッキングCSS」とは何ですか? 「レンダリングブロッキングCSS」とは何ですか? Jun 24, 2025 am 12:42 AM

    ブラウザは、特にインポートされたスタイルシート、ヘッダーのインラインCSS、および最適化されていないメディアクエリスタイルを使用して、ブラウザがインラインおよび外部CSSをデフォルトで主要なリソースとして表示するため、ページレンダリングをブロックします。 1.重要なCSSを抽出し、HTMLに埋め込みます。 2。JavaScriptを介して非クリティカルなCSSの読み込みを遅らせる。 3.メディア屬性を使用して、印刷スタイルなどのロードを最適化します。 4.リクエストを減らすためにCSSを圧縮およびマージします。ツールを使用してキーCSSを抽出し、REL = "Preload"非同期負(fù)荷を組み合わせ、過度の分割と複雑なスクリプト制御を避けるためにメディア遅延荷重を合理的に使用することをお?jiǎng)幛幛筏蓼埂?/p>

    外部対內(nèi)部CSS:最良のアプローチは何ですか? 外部対內(nèi)部CSS:最良のアプローチは何ですか? Jun 20, 2025 am 12:45 AM

    TheBestAppRoachforCSDependsonTheProject'sSpecificNeeds.forLargerProjects、externalCssissisbetterduetoMaintainasiladability; forsmallerProjectsOrsingLe-PageApplications、internalcsSmightBemoresuitable.it

    私のCSSは小文字でなければなりませんか? 私のCSSは小文字でなければなりませんか? Jun 19, 2025 am 12:29 AM

    いいえ、CSSDOESNOTHAVETOBEINLOWERCASE。

    CSSケース感度:重要なことを理解する CSSケース感度:重要なことを理解する Jun 20, 2025 am 12:09 AM

    cssismostlycase-inssensitive、buturlsandfontfamilynamesarecase-sensitive.1)propertiesandvalueslikecolor:red; areotcase-sensitive.2)urlsmustmatchtheserver'scase、例えば、/畫像/logo.png.3)

    Autoprefixerとは何ですか?それはどのように機(jī)能しますか? Autoprefixerとは何ですか?それはどのように機(jī)能しますか? Jul 02, 2025 am 01:15 AM

    Autoprefixerは、ターゲットブラウザスコープに基づいてCSS屬性にベンダープレフィックスを自動(dòng)的に追加するツールです。 1.エラーで接頭辭を手動(dòng)で維持する問題を解決します。 2. PostCSSプラグインフォーム、CSSを解析し、プレフィックスする必要がある屬性を分析し、構(gòu)成に従ってコードを生成する屬性を分析します。 3.使用手順には、プラグインのインストール、ブラウザーリストの設(shè)定、ビルドプロセスでそれらを有効にすることが含まれます。 4。メモには、接頭辭を手動(dòng)で追加しない、構(gòu)成の更新を保持すること、すべての屬性ではなくプレフィックスを維持することが含まれ、プリ??プロセッサでそれらを使用することをお?jiǎng)幛幛筏蓼埂?/p>

    CSSカウンターとは何ですか? CSSカウンターとは何ですか? Jun 19, 2025 am 12:34 AM

    csScountersCantAnationally-bersectionSandLists.1)usecounter-resettoinitialize、counter-incrementtoincrease、andcounter()orcounters()todisplayvalues.2)を組み合わせたjavascriptfordynamiccontenttoensureaCurateupdatesと組み合わせます。

    CSS:ケースはいつ重要ですか(いつそうではありませんか)? CSS:ケースはいつ重要ですか(いつそうではありませんか)? Jun 19, 2025 am 12:27 AM

    CSSでは、セレクターと屬性名はケースに敏感ですが、値、名前の色、URL、およびカスタム屬性はケースに敏感です。 1.バックグラウンドカラーや背景色など、セレクターと屬性名はケース非感受性です。 2。値の16進(jìn)數(shù)色は大文字と小文字を區(qū)別しますが、赤と赤などの名前の色は無効です。 3. URLは癥例に敏感であり、ファイルロードの問題を引き起こす可能性があります。 4.カスタムプロパティ(変數(shù))はケースに敏感であり、使用する場(chǎng)合はケースの一貫性に注意を払う必要があります。

    CSSの癥例感度:説明されたセレクター、プロパティ、および値 CSSの癥例感度:説明されたセレクター、プロパティ、および値 Jun 19, 2025 am 12:38 AM

    cssselectors andpropertynamesarecase-inssensitive、whilevaluescanbecase-sensitivedingoncontext.1)selectorslike'div'andiv'areequivalent.2)propertiessuchas'background-color'and'background-color'arecase-sensens

    See all articles