検索
ホームページCMS チュートリアル&#&プレスWordPressプラグインボイラープレートパート3:最後の手順

WordPressプラグインボイラープレートパート3:最後の手順

キーテイクアウト

  • WordPressプラグインボイラープレートシリーズの第3部は、プラグインのパブリック機能の実装に焦点を当てています。
  • ガイドでは、テストのためのテーマを準備する方法、_contentフィルターにフックする方法、コンテンツを条件付きで変更する方法、および現在の時間と最後の修正時間の日の違いを計算する方法を説明します。
  • 通知テキストのスタイリングについても説明し、著者は全体的なテーマデザインに合わせてシンプルなスタイリングガイドを提供します。著者はまた、さまざまなコンテキストの動的テキストや却下可能な通知など、潜在的な改善を提案しています。
  • 著者は、WordPressプラグインボイラープレートの利点を強調することで締めくくり、その明確な構造、ベストプラクティスの順守、およびプラグイン開発のための確固たる出発点を持つことの時間節約の側面に注目しています。
  • このシリーズの第2部では、プラグインの単純な管理機能を準備しました。ユーザーに、好みに応じてプラグインを調整できるオプションページを提供しました。
  • パート1と2を逃した場合は、以下を見つけてください:
WordPressプラグインボイラープレートパート1:WordPressプラグインボイラープレートを使用した開発をスピードアップ

WordPressプラグインボイラープレートパート2:WordPressプラグインの開発

この記事では、プラグインの公開機能を実装します。これは、ユーザーの設定を取得し、その特定の投稿が時代遅れかどうかを判断し、それに応じて単一の投稿ビューに通知を表示することを意味します。始めましょう!
  • テーマの準備
  • テーマを後でテストできるように、テーマを準備する必要があります。 WordPressでデフォルトで出荷される215のテーマを使用します。投稿を手動で埋め込むのではなく、テーマレビューチームが提供するテーマ単位テストデータを使用して、投稿を設定する予定です。
  • 上記のCodexページに記載されているTheme-Unit-Test-Data.xmlをダウンロードして、WordPressのインストールにインポートする必要があります。 WordPressの組み込みインポート機能は、ツールにナビゲートして> SideBarからのインポートで見つけることができます。

さまざまな選択肢が提示され、WordPressエクスポートファイルをインポートするため、WordPressを選択します。 WordPressのインストールに応じて、WordPressインポータープラグインがインストールされていない場合、プラグインポップアップが表示されます。あなたがそれを持っていない場合は、最初にプラグインをインストールして、それが完了したら実際のインポートプロセスを続行します。WordPressプラグインボイラープレートパート3:最後の手順 これはデフォルトのWordPressインポートページであるため、以前にダウンロードしたTheme-Unit-Test-data.xmlを選択し、[ファイルのアップロードとインポート]ボタンをクリックする必要があります。

2番目の画面が表示されます。 「著者の割り当て」セクションについては、デフォルトのままにすることができるため、あまり心配しないでください。 「添付ファイルのインポート」セクションで、すべての外部添付ファイルがダウンロードされ、メディアライブラリにインポートされるように、「ファイル添付ファイルのダウンロードとインポート」というチェックボックスにチェックしてください。 WordPressプラグインボイラープレートパート3:最後の手順「送信」ボタンを押して、インポートプロセスが正常に完了するまで待ちます。

今、私たちは通知を表示するコードを書く準備ができました。

the_contentフィルターに接続

The_Contentフィルターを使用することは、ユーザーに表示される投稿のコンテンツを変更するのに最適な方法です。以前のチュートリアルによると、define_admin_hooksの代わりにdefine_public_hooksメソッドが使用されるという唯一の違いは、ボイラープレートクラスローダーにフックを追加します。 このコードをメソッドに追加します:

これは、outstated_notice_publicクラスに公開the_contentメソッドを実装する必要があることを意味します。 public/class-outdated-notice-public.phpを開き、それに応じて変更します

コンテンツを条件付きで変更します

the_contentフィルターはさまざまなプラグインと内部のWordPressコアで使用されているため、カスタムコンテンツを挿入することに注意する必要があります。
<span>$this->loader->add_action( 'the_content', $plugin_public, 'the_content' );</span>
ブログ投稿インデックスではなく、単一の投稿が表示されるたびに、時代遅れの通知テキストを挿入することを確認する必要があります。そのためには、IS_MAIN_QUERY関数を使用してフィルタリングできます。この関数は、実行中のクエリがメインのクエリであるか、セカンダリ/カスタムクエリであるかを判断する必要がある場合はいつでも便利です。

考慮する必要があるもう1つのことは、ポストタイプの投稿の単一ビューの通知テキストのみを表示することです。そのため、is_singular( 'post')検証は仕事に最適です。

これは、undated_notice_public classに含まれる更新されたthe_contentメソッドです。

日の差の計算

開始する前に、通知が投稿の「前」として表示されるように位置を設定しましょう。

最初に、プラグインの保存された設定を取得する必要があります。 get_option関数はジョブを行い、安全な尺度として、get_optionの2番目の引数としてデフォルト値を渡すつもりです。

<span>$this->loader->add_action( 'the_content', $plugin_public, 'the_content' );</span>

現在の時刻と最後の変更時刻の日の差を計算するには、2つのDateTimeオブジェクトをインスタンス化します。 DateTimeクラスに組み込まれているDIFFメソッドを使用して、時差を正確に測定できます。 DateTimeクラスはPHP> = 5.3.0でのみ利用可能です。

<span>public function the_content( $post_content ) {
</span>
		<span>if ( is_main_query() && is_singular('post') ) {
</span>			<span>// do something
</span>		<span>}
</span>
        <span>return $post_content;
</span>	<span>}</span>
$ date_diffはdateintervalクラスのインスタンスであるため、時間の違いに関して利用可能なさまざまなデータがあります。 $ date_diff変数をvar_dumpする場合、これはあなたが現在閲覧している投稿に応じて、私たちが取得する必要があるものです。

私たちの日数のしきい値に対する比較として使用されるため、日数にのみ関心があります。前にも言ったように、私たちはそれらを比較して、特定のクラスを通知div要素に適用して、投稿間で異なってスタイリングできるようにします。
<span>$position  = get_option( 'outdated_notice_position', 'before' );
</span>	<span>$days      = (int) get_option( 'outdated_notice_day', 0 );</span>

この単純な比較ブロックは、Divに使用するクラスを決定するのに十分です。今残っている唯一のことは、ポストコンテンツに追加するHTMLを実際に構築することです。

翻訳対応のテキストを改善するには、_N関数を使用して、投稿が最後に更新されてからの日数に応じて、使用する適切なテキストを選択的に選択します。次に、後でスタイルできるように、通知テキストを独自のDivにラップします。通知テキストを自分の好みに合わせて微調整してください。
<span>$date_now  = new DateTime( current_time('mysql') );
</span>	<span>$date_old  = new DateTime( get_the_modified_time('Y-m-d H:i:s') );
</span>	<span>$date_diff = $date_old->diff( $date_now );</span>

$通知変数には、ポストコンテンツに挿入するマークアップが含まれている必要があります。残っている唯一のことはそれを追加することです。

要約として、これはundated_notice_public内のthe_contentメソッドが最終的に見えるべきです。
<span>object(DateInterval)#286 (8) {
</span>	  <span>["y"]=>
</span>	  <span>int(0)
</span>	  <span>["m"]=>
</span>	  <span>int(0)
</span>	  <span>["d"]=>
</span>	  <span>int(12)
</span>	  <span>["h"]=>
</span>	  <span>int(23)
</span>	  <span>["i"]=>
</span>	  <span>int(17)
</span>	  <span>["s"]=>
</span>	  <span>int(22)
</span>	  <span>["invert"]=>
</span>	  <span>int(0)
</span>	  <span>["days"]=>
</span>	  <span>int(12)
</span>	<span>}</span>

数ページでブラウジングを試して、プラグインが意図したとおりに機能しているかどうかを確認してください。これは、url /05/11/hello-world/。
<span>if ( $date_diff->days > $days ) {
</span>		<span>$class = 'is-outdated';
</span>	<span>} else {
</span>		<span>$class = 'is-fresh';
</span>	<span>}</span>

通知テキストのスタイリング

<span>// Filter the text
</span>	<span>$notice = sprintf(
</span>				<span>_n(
</span>					<span>'This post was last updated %s day ago.',
</span>					<span>'This post was last updated %s days ago.',
</span>					<span>$date_diff->days,
</span>					<span>'outdated-notice'
</span>				<span>),
</span>				<span>$date_diff->days
</span>			<span>);
</span>
	<span>// Add the class
</span>	<span>$notice = '<div>' . $notice . '</div>';
</span>	<span>$notice = sprintf( $notice, $class );</span>
邪魔にならずに全体的なテーマデザインとよく合うようになる、.outdated-dated-notice Divにいくつかの簡単なスタイリングを適用します。そのためには、すでに使用されているフォントサイズまたはフォントファミリに関しては何も変更しません。さらに、今のところブートストラップの配色とスタイリングを借ります。

Public/CSSフォルダー内に含まれる時代遅れのnotice-public.cssファイルを開き、このルールを追加します。 WordPressプラグインボイラープレートパート3:最後の手順 また、新鮮さを表すために2つの異なるスタイルが必要です。これは、.ISのための1つのスタイルであり、別のスタイルは.isの別のスタイルです。このスニペットはトリックを行う必要があり、新鮮な投稿のための素敵な緑色の配色と、時代遅れの投稿のための赤い配色を与えてください。

投稿ビューを更新して、それがどのようにスタイルされているかを見てみましょう。新鮮で時代遅れの投稿の例:

WordPressプラグインボイラープレートパート3:最後の手順 WordPressプラグインボイラープレートパート3:最後の手順

それです! WordPressプラグインボイラープレートに基づいて、完全に機能的なプラグインが開発されました。

改善

これまでに行ったことに基づいて改善できるさまざまなことがあります。その中には:

異なるコンテキストの動的テキスト。時代遅れの通知に異なるテキストを使用できます。
  • 使用されていないため、時代遅れのnotice-public.jsスクリプトのenqueuingを削除します。 投稿を読むときにユーザーエクスペリエンスを中断しないように
  • 却下可能な通知。
  • 結論
WordPressプラグインボイラープレートは、プラグインをゼロから開発するのに最適な出発点を提供します。シリーズのこの最後の部分では、プラグインのパブリックに直面している機能を開発することで終了しました。修正は非常に単純ですが、少しの時間で行われますが、ボイラープレート自体によって確立されたOOPパターンを維持し、基準とベストプラクティスに準拠しています。

パート3ブランチのGitHubで通常どおりコードの完全なコピーが利用可能です。 WordPressプラグインボイラープレートに関するよくある質問(FAQ)

WordPressプラグインボイラープレートとは何ですか?それが重要なのはなぜですか?

WordPressプラグインボイラープレートは、高品質のWordPressプラグインを構築するための標準化され、組織化され、オブジェクト指向の基礎です。特にWordPressプラグインの開発を初めての開発者に、理解しやすく、取り組むことができる明確で一貫した構造を提供します。堅実な出発点を提供し、一般的なコードをゼロから書く必要性を減らすことにより、時間と労力を節約することが重要です。また、プラグインのコーディング、パフォーマンス、セキュリティ、保守性の向上におけるベストプラクティスを促進します。最初にGitHubリポジトリからダウンロードする必要があります。ダウンロードしたら、ボイラープレートのディレクトリとファイルの名前を変更して、プラグインの詳細に一致させることができます。ボイラープレートのコードは十分に構成されており、カスタムコードをどこに配置するかを導きます。メインプラグインファイルのプラグインヘッダーを更新して、プラグインの詳細を反映することを忘れないでください。

商用プロジェクトにはWordPressプラグインボイラープレートを使用できますか? GPLの下でライセンスされているため、個人および商業プロジェクトの両方に使用できます。ただし、プラグインのドキュメントやクレジットでボイラープレートを認めることをお勧めします。

WordPressプラグインボイラープレートプロジェクトに貢献するにはどうすればよいですか?

WordPressプラグインボイラープレートはコミュニティ主導のプロジェクトであり、貢献はいつでも歓迎します。バグを報告したり、改善を提案したり、GitHubリポジトリにプルリクエストを送信したりすることで貢献できます。貢献する前に、プロジェクトの貢献ガイドラインを必ず読んで理解してください。

WordPressプラグインボイラープレートの構造は何ですか?

WordPressプラグインボイラープレートは、コードを整理するように設計された特定の構造に従います。および管理可能。 「管理者」、「含まれる」、「パブリック」の3つのメインディレクトリで構成されています。 「管理者」ディレクトリには、プラグインの管理者固有のサイドのCSS、JavaScript、およびPHPファイルが含まれています。 「含まれる」ディレクトリは、コアプラグインクラスとその他の共有関数を定義するために使用されます。 「public」ディレクトリには、プラグインのパブリック面のファイルが含まれています。

WordPressプラグインボイラープレートを使用してプラグインに新しい機能を追加するにはどうすればよいですか?プラグインの機能は、通常、「含める」ディレクトリにその機能の新しいクラスを作成します。このクラスは、機能を実行する必要があるすべてのフックを定義する必要があります。次に、メインプラグインクラスにこのクラスをインスタンス化し、「実行」関数に追加します。このモジュラーアプローチにより、プラグイン内の機能を簡単に追加、削除、または変更できます。 「管理者」ディレクトリのプラグインオプションの処理。このクラスには、設定を登録するための関数、セクションとフィールドの定義、設定ページのレンダリングが含まれます。このクラスを拡張してプラグインの特定のオプションを処理することができます。

WordPressプラグインボイラープレートでプラグインを国際化するにはどうすればよいですか?ディレクトリ。このクラスは、プラグインのテキストドメインをロードし、他の言語に翻訳できるようにします。ボイラープレート内のプレースホルダーテキストドメインをプラグインのテキストドメインに置き換えるだけです。 「管理者」および「パブリック」ディレクトリのスクリプトとスタイルを排除するため。これらのクラスには、スクリプトとスタイルを登録およびenqueする機能が含まれ、適切な場所で適切なタイミングでロードされるようにします。

WordPressプラグインボイラープレートでプラグインをきれいにアンインストールするにはどうすればよいですか?

WordPressプラグインボイラープレートには、WordPressダッシュボードからプラグインがアンインストールされたときに実行されるUninstall.phpファイルが含まれています。このファイルには、プラグインオプションやデータベーステーブルの削除など、クリーンアップコードが含まれている必要があります。これにより、プラグインがアンインストールされたときにトレースが残さないようにします。

以上がWordPressプラグインボイラープレートパート3:最後の手順の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
WordPressを3日で学ぶことはできますか?WordPressを3日で学ぶことはできますか?Apr 09, 2025 am 12:16 AM

3日以内にWordPressを学ぶことができます。 1.テーマ、プラグインなどのマスター基本知識。2。インストールや作業原則などのコア関数を理解します。 3.例を使用して、基本的および高度な使用法を学びます。 4.デバッグテクニックとパフォーマンスの最適化の提案を理解します。

WordPressはCMSですか?WordPressはCMSですか?Apr 08, 2025 am 12:02 AM

WordPressはコンテンツ管理システム(CMS)です。コンテンツ管理、ユーザー管理、テーマ、プラグイン機能を提供して、Webサイトコンテンツの作成と管理をサポートします。その実用的な原則には、ブログから企業Webサイトまで、さまざまなニーズに適したデータベース管理、テンプレートシステム、プラグインアーキテクチャが含まれます。

ワードプレスは何に適していますか?ワードプレスは何に適していますか?Apr 07, 2025 am 12:06 AM

wordpressisisgoodforvirtalayanywebprojectoitsversitilityasacms.itexcelsin:1)ユーザーフレンドリー、柔軟性と柔軟性と顧客化の維持、およびプルージンの数値化; 3)seooptimization;

WixまたはWordPressを使用する必要がありますか?WixまたはWordPressを使用する必要がありますか?Apr 06, 2025 am 12:11 AM

WIXは、プログラミングの経験がないユーザーに適しており、WordPressは、よりコントロールと拡張機能を必要とするユーザーに適しています。 1)WIXはドラッグアンドドロップエディターとリッチテンプレートを提供しているため、Webサイトをすばやく構築できます。 2)オープンソースのCMSとして、WordPressには巨大なコミュニティとプラグインエコシステムがあり、詳細なカスタマイズと拡張をサポートしています。

WordPressの費用はいくらですか?WordPressの費用はいくらですか?Apr 05, 2025 am 12:13 AM

WordPress自体は無料ですが、使用するには余分な費用がかかります。1。WordPress.comは、無料から支払いまでの範囲のパッケージを提供し、価格は月あたり数ドルから数十ドルまでの範囲です。 2。WordPress.orgでは、ドメイン名(年間10〜20米ドル)とホスティングサービス(月額5〜50米ドル)を購入する必要があります。 3.ほとんどのプラグインとテーマは無料で、有料価格は数十から数百ドルです。適切なホスティングサービスを選択し、プラグインとテーマを合理的に使用し、定期的に維持および最適化することにより、WordPressのコストを効果的に制御および最適化できます。

WordPressはまだ無料ですか?WordPressはまだ無料ですか?Apr 04, 2025 am 12:06 AM

WordPressのコアバージョンは無料ですが、使用中に他の料金が発生する場合があります。 1。ドメイン名とホスティングサービスには支払いが必要です。 2。高度なテーマとプラグインが充電される場合があります。 3.プロフェッショナルサービスと高度な機能が請求される場合があります。

WordPressは初心者にとって簡単ですか?WordPressは初心者にとって簡単ですか?Apr 03, 2025 am 12:02 AM

WordPressは、初心者が簡単に始めることができます。 1.バックグラウンドにログインした後、ユーザーインターフェイスは直感的であり、シンプルなダッシュボードは必要なすべての関数リンクを提供します。 2。基本操作には、コンテンツの作成と編集が含まれます。 WysiWygエディターは、コンテンツの作成を簡素化します。 3.初心者は、プラグインとテーマを介してウェブサイトの機能を拡張でき、学習曲線は存在しますが、練習を通じて習得できます。

なぜWordPressを使用するのはなぜですか?なぜWordPressを使用するのはなぜですか?Apr 02, 2025 pm 02:57 PM

人々は、その力と柔軟性のためにWordPressを使用することを選択します。 1)WordPressは、さまざまなWebサイトのニーズに適した、使いやすさとスケーラビリティを備えたオープンソースのCMSです。 2)豊富なテーマとプラグイン、巨大なエコシステム、強力なコミュニティサポートがあります。 3)WordPressの作業原則は、テーマ、プラグイン、コア関数に基づいており、PHPとMySQLを使用してデータを処理し、パフォーマンスの最適化をサポートします。

See all articles

ホット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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール