目次
@wordpress-plugin
单个帖子元管理器部分
完成插件
ホームページ バックエンド開発 PHPチュートリアル WordPress プラグイン ドキュメントの続き: オブジェクト指向プログラミング II

WordPress プラグイン ドキュメントの続き: オブジェクト指向プログラミング II

Aug 29, 2023 pm 03:09 PM

WordPress 插件继续文档:面向对象编程 II

シリーズのこの時点で、ファイル、クラス、関数、変数などを文書化してプラグインを完成させる準備が整いました。

これは実際にプラグインを完成させる最後のステップですが、オブジェクト指向プログラミングの高度なトピックを引き続き見ていきますので、これがシリーズの最後の記事ではありません。

しかし、その前に、前の記事で学んだことをすべて実践し、プラグインをバージョン 1.0 にアップグレードしましょう。

もちろん、これまでのすべての 記事と同様に、これまでに取り上げたすべての内容を常に最新の状態に保つことをお勧めします。そうすることで、前回の記事で行ったことを完全に理解するだけでなく、どのように行うのかを理解していただくことができます。実際に、この記事で説明した最後の点に到達します。

###導入### ###コース### ###タイプ###
    制御構造: 条件文
  1. 制御構造: ループ
  2. 関数とプロパティ
  3. ###範囲###
  4. プラグイン I
  5. をビルドする
  6. プラグイン II のビルド
  7. レコードプラグインI
  8. これらすべてを理解して確認したら、各ファイルの文書化を開始しましょう。
  9. レコードプラグイン
  10. このプラグインはさまざまな方法で記録できます:
  11. 最初にすべてのファイル ヘッダーを記録し、次にクラスを記録し、次に変数を記録し、関数を記録します。

各ファイルを一度に記録し、各ファイルに含まれるすべてについて簡単に議論することができます。

明らかに、このオプションを選択すると、各セクションにより多くのドキュメントが生成されますが、結果として退屈な記事が減り、プラグイン全体の制御フローが理解しやすくなるはずです。

これを行うために、プラグインをファイルごとに調べ、コードの各部分のドキュメントを紹介し、コードの背後にある重要な点について説明します。
  • 最後に、記事の最後でプラグインの最終バージョンを必ず参照します。それを踏まえて、始めましょう。
  • シングルポストメタマネージャー
プラグインを開始するメイン ファイルは、プラグイン ディレクトリのルートにある single-post-meta-manager.php ファイルであることを思い出してください。

以下は、このファイルの完全に文書化されたバージョンです。各レビューを注意深く読み、その形式に従っているだけでなく、提供されている内容にも注意してください。

リーリー

上記のコードでは、前の記事で概説した規則に従ってファイル ヘッダーを定義していることに注意してください。また、WordPress が正しく読み取れるように、必要なプラグイン ヘッダー タグも維持します。

この例では、カスタム

@wordpress-plugin

タグの下にそれらを含めていることに注意してください。これは必須ではありませんが、ファイルヘッダーのコメントを必要なプラグインのコメントから分離するのに役立ちます。

最後に、このプラグインのバージョンを

1.0

にアップグレードし、

@package

value="inline" をプラグイン >SPMM# に割り当てたことに注意してください。

##シングル ポスト メタ マネージャーがありません。これをプラグイン全体で使用します。

含まれるディレクトリ 次に、インクルード ディレクトリ内のすべてのファイルに注目してみましょう。 これらのファイルはディレクトリで何かを管理する前に必要であるため、これらの各ファイルを個別に確認してから、管理対象ディレクトリ内の残りのファイルについての説明を終えるのが合理的です。 シングルポストメタマネージャー

リーリー

明らかに、この特定のファイルには 多数の新しいコメントが導入されていますが、各クラス属性、コンストラクター、内部関数の役割は一目瞭然です。

プラグインを介して情報がどのように調整されるかに加えて、注目すべき重要なことは、前の記事で定義された標準をどのように遵守するかということです。

ただし、ドキュメント

内の特定のタグや機能が関連性がない場合に

使用されない場合、当社はそれらを自由に使用することに注意してください。この記事の残りの部分でもこれを続けていきます。

シングルポストメタマネージャーローダー

リーリー このクラスは、プラグイン全体で使用されるすべてのアクションとフィルターを調整するため、多かれ少なかれプラグインのコアコンポーネントであることに注意してください。このプラグインは、プラグイン全体で使用されるフックのすべての登録と調整を一元管理します。

最後に、

run

が呼び出されると、すべてのフックが WordPress に登録されるため、プラグインが開始されると、登録されているすべてのアクションとフィルターが呼び出されます。

管理者ディレクトリ

この時点で、プラグイン管理ディレクトリにあるファイルに注目する準備が整いました。

ファイルは複数の PHP ファイルで構成されていますが、CSS ファイルも含まれています。この記事では、CSS ファイルを文書化するのではなく、CSS ファイルを作成します。ただし、WordPress Codex

ではこれに関するドキュメントを

定義しています。

それでは、admin

ディレクトリに存在するクラスとファイルのログを続けてみましょう。

シングルポストメタマネージャー管理者

Single Post Meta Manager Admin クラスの役割は 1 つです。ダッシュボードのメタ ボックスとそのスタイルをレンダリングする機能を定義します。

<?php

/**
 * The Single Post Meta Manager Admin defines all functionality for the dashboard
 * of the plugin
 *
 * @package SPMM
 */

/**
 * The Single Post Meta Manager Admin defines all functionality for the dashboard
 * of the plugin.
 *
 * This class defines the meta box used to display the post meta data and registers
 * the style sheet responsible for styling the content of the meta box.
 *
 * @since    1.0.0
 */
class Single_Post_Meta_Manager_Admin {

    /**
	 * A reference to the version of the plugin that is passed to this class from the caller.
	 *
	 * @access private
	 * @var    string    $version    The current version of the plugin.
	 */
	private $version;

	/**
	 * Initializes this class and stores the current version of this plugin.
	 *
	 * @param    string    $version    The current version of this plugin.
	 */
	public function __construct( $version ) {
		$this->version = $version;
	}

	/**
	 * Enqueues the style sheet responsible for styling the contents of this
	 * meta box.
	 */
	public function enqueue_styles() {

		wp_enqueue_style(
			'single-post-meta-manager-admin',
			plugin_dir_url( __FILE__ ) . 'css/single-post-meta-manager-admin.css',
			array(),
			$this->version,
			FALSE
		);

	}

	/**
	 * Registers the meta box that will be used to display all of the post meta data
	 * associated with the current post.
	 */
	public function add_meta_box() {

		add_meta_box(
			'single-post-meta-manager-admin',
			'Single Post Meta Manager',
			array( $this, 'render_meta_box' ),
			'post',
			'normal',
			'core'
		);

	}

	/**
	 * Requires the file that is used to display the user interface of the post meta box.
	 */
	public function render_meta_box() {
		require_once plugin_dir_path( __FILE__ ) . 'partials/single-post-meta-manager.php';
	}

}
ログイン後にコピー

请注意,上面的类只有很少的功能细节。主要是,该类维护对插件版本的引用、用于设置元框样式的样式表以及实际渲染元框所需的函数。

回想一下,所有这些都是在核心插件文件和加载器中设置的。这有助于解耦插件中存在的逻辑,以便每个类都可以专注于其主要目的。

当然,插件的最后一部分依赖于包含显示元框所需标记的实际部分文件。

单个帖子元管理器部分

<?php
/**
 * Displays the user interface for the Single Post Meta Manager meta box.
 *
 * This is a partial template that is included by the Single Post Meta Manager
 * Admin class that is used to display all of the information that is related
 * to the post meta data for the given post.
 *
 * @package    SPMM
 */
?>
<div id="single-post-meta-manager">

    <?php $post_meta = get_post_meta( get_the_ID() ); ?>
	<table id="single-post-meta-manager-data">
	<?php foreach ( $post_meta as $post_meta_key => $post_meta_value ) { ?>
		<tr>
			<td class="key"><?php echo $post_meta_key; ?></td>
			<td class="value"><?php print_r( $post_meta_value[0] ); ?></td>
		</tr>
	<?php } ?>
	</table>

</div><!-- #single-post-meta-manager -->
ログイン後にコピー

这应该是相对不言自明的;但是,为了完整起见,请注意此文件获取当前帖子 ID(通过使用 get_the_ID() 函数),读取帖子元数据,然后迭代它构建一个表显示键和值。

完成插件

至此,我们已经完成了插件的实现。从实施面向对象的编程实践,到记录代码。

您可以在 GitHub 上获取该插件的最终版本;但是,我们将在更多帖子中继续进行面向对象的讨论,以便我们可以探索一些更高级的主题,例如继承、抽象和其他主题。

同时,如果您对该插件有疑问或意见,请随时在评论中留下!

以上がWordPress プラグイン ドキュメントの続き: オブジェクト指向プログラミング IIの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 Apr 05, 2025 am 12:04 AM

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

セッションのハイジャックはどのように機能し、どのようにPHPでそれを軽減できますか? セッションのハイジャックはどのように機能し、どのようにPHPでそれを軽減できますか? Apr 06, 2025 am 12:02 AM

セッションハイジャックは、次の手順で達成できます。1。セッションIDを取得します。2。セッションIDを使用します。3。セッションをアクティブに保ちます。 PHPでのセッションハイジャックを防ぐための方法には次のものが含まれます。1。セッション_regenerate_id()関数を使用して、セッションIDを再生します。2。データベースを介してストアセッションデータを3。

確固たる原則と、それらがPHP開発にどのように適用されるかを説明してください。 確固たる原則と、それらがPHP開発にどのように適用されるかを説明してください。 Apr 03, 2025 am 12:04 AM

PHP開発における固体原理の適用には、次のものが含まれます。1。単一責任原則(SRP):各クラスは1つの機能のみを担当します。 2。オープンおよびクローズ原理(OCP):変更は、変更ではなく拡張によって達成されます。 3。Lischの代替原則(LSP):サブクラスは、プログラムの精度に影響を与えることなく、基本クラスを置き換えることができます。 4。インターフェイス分離原理(ISP):依存関係や未使用の方法を避けるために、細粒インターフェイスを使用します。 5。依存関係の反転原理(DIP):高レベルのモジュールと低レベルのモジュールは抽象化に依存し、依存関係噴射を通じて実装されます。

システムの再起動後にUnixSocketの権限を自動的に設定する方法は? システムの再起動後にUnixSocketの権限を自動的に設定する方法は? Mar 31, 2025 pm 11:54 PM

システムが再起動した後、UnixSocketの権限を自動的に設定する方法。システムが再起動するたびに、UnixSocketの許可を変更するために次のコマンドを実行する必要があります:sudo ...

phpstormでCLIモードをデバッグする方法は? phpstormでCLIモードをデバッグする方法は? Apr 01, 2025 pm 02:57 PM

phpstormでCLIモードをデバッグする方法は? PHPStormで開発するときは、PHPをコマンドラインインターフェイス(CLI)モードでデバッグする必要がある場合があります。

PHPでの後期静的結合を説明します(静的::)。 PHPでの後期静的結合を説明します(静的::)。 Apr 03, 2025 am 12:04 AM

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPのCurlライブラリを使用してJSONデータを含むPOSTリクエストを送信する方法は? PHPのCurlライブラリを使用してJSONデータを含むPOSTリクエストを送信する方法は? Apr 01, 2025 pm 03:12 PM

PHP開発でPHPのCurlライブラリを使用してJSONデータを送信すると、外部APIと対話する必要があることがよくあります。一般的な方法の1つは、Curlライブラリを使用して投稿を送信することです。

See all articles