ホームページ  >  記事  >  バックエンド開発  >  WordPress プラグイン ドキュメントの続き: オブジェクト指向プログラミング II

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

王林
王林オリジナル
2023-08-29 15:09:09855ブラウズ

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 までご連絡ください。