WordPress 플러그인 계속 문서: 객체 지향 프로그래밍 II

王林
풀어 주다: 2023-08-29 15:10:01
원래의
838명이 탐색했습니다.

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

이 시리즈의 시점에서 파일, 클래스, 함수, 변수 등을 문서화하여 플러그인을 완성할 준비가 되었습니다.

이것이 실제로 플러그인을 완성해야 하는 마지막 단계이지만, 객체 지향 프로그래밍의 일부 고급 주제를 계속해서 살펴볼 것이기 때문에 시리즈의 마지막 기사는 아닙니다.

하지만 그 전에 이전 기사에서 배운 모든 내용을 실습하고 플러그인을 버전 1.0으로 업그레이드해 보겠습니다.

물론 이전 모든 기사와 마찬가지로 지금까지 다룬 모든 내용을 최신 상태로 유지하여 이전 기사에서 수행한 작업뿐만 아니라 실제로 어떻게 수행했는지 완전히 이해할 수 있도록 하는 것이 좋습니다. 도착했습니다. 이 기사에서 논의한 마지막 요점입니다.

  1. 소개
  2. 강좌
  3. 유형
  4. 제어 구조: 조건문
  5. 제어 구조: 루프
  6. 함수 및 속성
  7. 범위
  8. 빌드 플러그인 I
  9. 빌드 플러그인 II
  10. 녹음 플러그인 I

이 모든 내용을 이해하고 검토한 후 각 파일의 문서화를 시작하겠습니다.

녹음 플러그인

이 플러그인을 다양한 방법으로 기록할 수 있습니다:

  • 먼저 모든 파일 헤더를 기록한 다음 다시 돌아와서 클래스를 기록한 다음 돌아와서 변수를 기록한 다음 함수를 기록할 수 있습니다.
  • 각 파일을 한 번에 녹음하고 각 파일에 포함된 모든 내용에 대해 간략하게 토론할 수 있습니다.

분명히 이 옵션을 사용하면 각 부분에 대해 더 많은 문서가 생성되지만 기사가 덜 지루해지고 전체 플러그인의 제어 흐름을 더 쉽게 이해할 수 있습니다.

이를 위해 플러그인 파일을 파일별로 살펴보고 보유한 각 코드 조각에 대한 문서를 소개한 다음 코드 뒤에 있는 관심 사항에 대해 논의할 것입니다.

마지막으로 기사 마지막 부분에서 플러그인의 최종 버전을 참조하도록 하겠습니다. 그 말을 듣고 시작하겠습니다.

단일 게시물 메타 관리자

플러그인을 시작하는 메인 파일은 플러그인 디렉토리의 루트에 위치한 Single-post-meta-manager.php 파일이라는 점을 기억하세요.

다음은 완전히 문서화된 파일 버전입니다. 각 리뷰를 주의 깊게 읽으면서, 그것이 따르는 형식뿐만 아니라 그것이 제공하는 내용에도 주의를 기울이십시오.

으아악

위 코드에서는 이전 기사에서 설명한 규칙에 따라 파일 헤더를 정의했습니다. 또한 WordPress가 올바르게 읽을 수 있도록 필수 플러그인 헤더 태그를 유지관리합니다.

이 예에서는 사용자 정의 @wordpress-plugin 태그 아래에 해당 항목을 포함했습니다. 이는 필수는 아니지만 필수 플러그인 주석과 파일 헤더 주석을 구분하는 데 도움이 됩니다.

마지막으로 이 플러그인을 1.0,并且我们还为该插件指定了 @package 值="inline">SPMM 누락된 Single Post Meta Manager로 업그레이드했습니다. 우리는 이것을 플러그인 전체에서 사용할 것입니다.

包含목차

다음으로, include 디렉터리에 있는 모든 파일을 살펴보겠습니다.

디렉터리에서 항목을 관리하려면 이러한 파일이 필요하므로 각 파일을 개별적으로 살펴본 다음 관리되는 디렉터리의 나머지 파일에 대해 논의하는 것이 좋습니다.

단일 게시물 메타 관리자

으아악

분명히 많은 새로운 주석이 이 특정 파일에 도입되었습니다. 그러나 각 클래스 속성, 생성자 및 내부 함수의 역할은 설명이 필요하지 않습니다.

플러그인을 통해 정보가 조정되는 방식 외에도 주목해야 할 핵심 사항은 이전 기사에서 정의된 표준을 준수하는 방식입니다.

그러나 문서의 특정 태그 및/또는 기능이 관련이 없는데 사용되지 않는 경우 우리는 이를 자유롭게 사용할 수 있습니다. 이 기사의 나머지 부분에서도 계속해서 그렇게 할 것입니다.

단일 포스트 메타 관리자 로더

으아악

이 클래스는 플러그인 전체에서 사용되는 모든 작업과 필터를 조정하므로 플러그인의 핵심 구성 요소에 가깝습니다. 이 플러그인은 플러그인 전체에서 사용되는 후크의 모든 등록 및 조정을 중앙 집중화합니다.

마지막으로 run가 호출되면 모든 후크가 WordPress에 등록되므로 플러그인이 시작되면 등록된 모든 액션과 필터가 호출됩니다.

admin 목차

이제 플러그인 관리 디렉터리에 있는 파일에 관심을 돌릴 준비가 되었습니다.

파일은 여러 개의 PHP 파일로 구성되어 있지만 CSS 파일도 포함되어 있습니다. 이 기사의 목적상 CSS 파일을 문서화하는 것이 아니라 CSS 파일을 작성하는 것입니다. 그러나 WordPress Codex 에서는 이에 대한 문서를 정의합니다.

이제 admin 디렉터리에 있는 클래스와 파일을 문서화해 보겠습니다.

싱글 포스트 메타 관리자 관리자

단일 포스트 메타 관리자 관리 클래스에는 대시보드에 대한 메타 상자와 해당 스타일을 렌더링하는 기능을 정의하는 단일 책임이 있습니다.

<?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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!