カスタム プラグイン: 初心者のための WordPress 分類の包括的なガイド
このシリーズでは、WordPress 分類法について、その概要、分類法がどのように機能するか、存在するさまざまなタイプを区別する方法、基盤となるデータベースにどのように保存されるかについて検討してきました。 p>
私たちがしなければならない唯一のことは、API を使用して独自のカスタム分類法を実装する方法を示すプラグインをアセンブルすることです。したがって、この記事では、まさにそれを実行します。
このシリーズの最初の記事を思い出してください:
分類は、ほとんどの人が聞いたことも使用したこともない言葉の 1 つです。基本的に、分類法は物事をグループ化する方法です。
このシリーズでは、分類例として写真とビデオを使用してきました。したがって、これから構築するプラグインには、これら 2 つの分類に関連する階層的分類法と非階層的分類法が含まれます。
- 階層分類には、photos および videos の基本分類が含まれます。
- 非階層的な分類は、使用されるフィルムの種類を指定するために使用されます。これには、白黒、カラー、セピア、または指定したい任意の色を指定できます。
最後に、プラグインは WordPress に付属する既存の標準投稿タイプで動作します。これにより、プラグインの構築、概念の実証、独自のインストールでの使用に関連する柔軟性が最も高まります。
私のカスタム分類法
プラグインの例では、これを My Custom Taxonomy と呼び、次の段階で構築します。
- WordPress ダッシュボードにプラグインを表示するために必要な正しいタイトル テキストを含むコア プラグイン ファイルを準備します。
- コアプラグインの実行に必要なコードを設定します。
- Photo および Video カテゴリを導入するコードを作成します。
- 映画ジャンル分類法を導入するコードを作成します。 次に、完全なプラグインをテストします。
- ###1。プラグインヘッダー
他の作業を行う前に、
wp-content/plugins に my-custom-taxonomyes
という名前のディレクトリを作成し、 My Custom Taxonomy.php## という名前のディレクトリを導入します。 #。
次のコード コメント ブロックをファイルに追加します:
リーリー
次に、実際にプラグインを機能させるための別のファイルを作成する必要があります。これはオブジェクト指向プログラミングの原則に基づいているため、
class-my-custom-taxonomies.php
というファイルを作成します。
まだソース コードを入力することを心配する必要はありません。
my-custom-taxonomies.php
リーリー
これを、上で提供したコード コメントの直下に配置します。
###2。コアプラグインの実行
この時点で、実際にプラグインを駆動するコードを書く準備が整いました。それでは、クラスと初期化用の基本関数を定義しましょう:
リーリーその後、
my-custom-taxonomies.phpに戻り、ファイルと、クラスのインスタンスを作成して実行するメソッドを組み込むコードを追加します。
リーリーこれで、実際にフックとコールバックを設定してカスタム分類を作成するために必要なものがすべて揃いました。
###3。はじめに
写真 p> と
ビデオ
この時点で、分類法の導入を開始する準備が整いました。まず、Photo
とVideo という 2 つの階層分類に焦点を当てます。 class-my-custom-taxonomies.php ファイルのクラス本体に、次の関数を追加します。 リーリー
この関数は、Photo カテゴリの作成を担当し、適切なタイミングで init 関数から呼び出されます。
動画 : でやってみましょう。 リーリー
これら 2 つの関数を init 関数で呼び出してみましょう。これを行うには、WordPress が提供するinit フックを使用してこれらの関数を登録します。 リーリー ここで、
Add New Post に移動すると、ダッシュボードに新しいカテゴリのオプションが表示されるはずです。そうでない場合は、上記で共有したコードと照らし合わせてコードを再確認してください。
階層的な分類法を説明したので、ビデオ タイプ
(非階層的な) 分類法に進みましょう。
4。介绍影片类型
这实际上与我们到目前为止编写的代码没有太大不同。实际上,主要区别在于,我们不是将 hierarchical
指定为 true
,而是将其设置为 false
。
<?php /** * Creates the Film Type taxonomy that appears on all Post dashboard * pages. * * @since 1.0.0 */ public function init_film_type() { $labels = array( 'name' => 'Film Type', 'singular_name' => 'Film Type', 'edit_item' => 'Edit Film Type', 'update_item' => 'Update Film Type', 'add_new_item' => 'Add New Film Type', 'menu_name' => 'Film Type' ); $args = array( 'hierarchical' => false, 'labels' => $labels, 'show_ui' => true, 'show_admin_column' => true, 'rewrite' => array( 'slug' => 'film-type' ) ); register_taxonomy( 'film-type', 'post', $args ); }
这将导致不同类型的用户界面元素,看起来更像标签,而不是您在上面看到的类别选项。
最后,将以下行与其余钩子一起添加到 init 方法中:
<?php add_action( 'init', array( $this, 'init_film_type' ) );
请注意,函数更像是分类标签。再次重申,这是分层分类法和非分层分类法的主要区别之一。
5。测试完整插件
现在我们准备好试用该插件了。假设您正确遵循了本教程中的所有内容,那么您应该能够创建新帖子,并使用照片类型或视频类型对其进行标记作为影片的一种类型,并在保存或更新您的帖子后保留更改。
如果没有,请根据此处引用的内容以及关联的 GitHub 存储库中引用的内容仔细检查您的代码。
结论
WordPress 分类法初学者指南到此结束。在整个系列中,我们广泛了解了分类法的定义、它们在 WordPress 中扮演的角色,甚至还实现了一些我们自己的分类法。
此时,您应该对这个概念以及如何将它们包含在您的下一个项目中有深入的了解。
如果没有,请随时在下面的字段中留下问题、评论或一般反馈。
以上がカスタム プラグイン: 初心者のための WordPress 分類の包括的なガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









PHPロギングは、Webアプリケーションの監視とデバッグ、および重要なイベント、エラー、ランタイムの動作をキャプチャするために不可欠です。システムのパフォーマンスに関する貴重な洞察を提供し、問題の特定に役立ち、より速いトラブルシューティングをサポートします

Laravelは、直感的なフラッシュメソッドを使用して、一時的なセッションデータの処理を簡素化します。これは、アプリケーション内に簡単なメッセージ、アラート、または通知を表示するのに最適です。 データは、デフォルトで次の要求のためにのみ持続します。 $リクエスト -

PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

Laravelは簡潔なHTTP応答シミュレーション構文を提供し、HTTP相互作用テストを簡素化します。このアプローチは、テストシミュレーションをより直感的にしながら、コード冗長性を大幅に削減します。 基本的な実装は、さまざまな応答タイプのショートカットを提供します。 Illuminate \ support \ facades \ httpを使用します。 http :: fake([[ 'google.com' => 'hello world'、 'github.com' => ['foo' => 'bar']、 'forge.laravel.com' =>

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

記事では、PHP 5.3で導入されたPHPの後期静的結合(LSB)について説明し、より柔軟な継承を求める静的メソッドコールのランタイム解像度を可能にします。 LSBの実用的なアプリケーションと潜在的なパフォーマ

この記事では、フレームワークにカスタム機能を追加し、アーキテクチャの理解、拡張ポイントの識別、統合とデバッグのベストプラクティスに焦点を当てています。
