WordPress MVCを開始します
WordPressでは、プラグインを作成するときはプレーンPHPに固執する必要があります。これにより、PHPとHTMLコードが単一のページで混同されますが、これは良い練習ではありません。懸念の分離は、プログラムをさまざまな部分、つまりロジックとプレゼンテーションに分割する必要があると述べている設計原則です。このチュートリアルでは、この問題の1つのソリューション、WordPress MVCをご覧ください。これは、WordPressにMVCサポートを追加するプラグインであるため、プラグインをMVC Wayで書くことができます。
キーテイクアウト
- WordPress MVCは、Model-View-Controller(MVC)アーキテクチャをWordPressに導入するプラグインであり、開発者がプラグイン開発のロジックとプレゼンテーションを分離できるようにします。 WordPress MVCを使用するには、WP MVCプラグインをインストールしてアクティブにする必要があります。これにより、コマンドラインの特定のMVCコマンドを使用して新しいプラグインを足場にすることができます。
- チュートリアルでは、「AnimeList」というサンプルプラグインの構築を示しています。これには、カスタムデータベーステーブルの作成、エントリの追加と編集のフォーム、管理者とパブリックの両方でデータプレゼンテーションの管理が含まれます。 WordPress MVCは、コードをモデル(データ処理)、ビュー(出力プレゼンテーション)、およびコントローラー(リクエスト処理)に構築することにより、コード組織と保守性を向上させます。これは、複雑なまたは大規模なWordPressプロジェクトに特に役立ちます。
- チュートリアルは、ワードプレスでMVC環境のセットアップ、プラグインに必要なMVCコンポーネントの生成、カスタムスタイルとスクリプトの追加、WordPressプラグインのMVCの実用的な実装の紹介まで、ワークフロー全体をカバーしています。
- MVCとは?
- 先に進む前に、私たち全員が同じページにいることが重要です。 MVCが何であるかを既に知っている場合は、次のセクションにスキップしてください。 わかりました、MVCとは何ですか? MVCはモデルビューコントローラーの略です。モデルは、アプリケーションが利用するデータを表します。データベースとの会話をするのは部分です。ビューはプレゼンテーションを扱います。 HTMLコードと基本的なプレゼンテーションロジックを入力する場所です。最後に、これら2つを結び付けることを主な仕事とするコントローラーがあります。例には、ユーザー入力の検証と消毒が含まれます。基本的に、アプリケーションの全体的な流れを制御する責任があります。
インストールとセットアップ
WP MVCは、MVCをWordPressで動作させるためにインストールする必要があるプラグインです。ここからプラグインをダウンロードして、通常WordPressにプラグインをインストールするようにインストールできます。それが完了したら、WordPressにログインして、プラグインページからアクティブになります。
プラグインを構築するMVC Way
先に進む前に、このチュートリアルで構築するものの簡単な概要を説明します。 Webサイトの管理側で作成されたすべてのアニメをリストするプラグインを構築します。このサイトがしていることとほとんど同じです。管理側には、アニメのショーを追加、リスト、編集、削除できるインターフェイスがあります。パブリック側では、特定のページのグリッドビューで表示されます。
新しいプラグインを構築する準備が整いました。 WP MVCプラグインをインストールしたパスに移動することで、それを行うことができます。
cd path/to/plugins/wp-mvc
次に、新しいプラグインを生成できるようになりました。次のコマンドを実行して、それを実行します。
chmod +x wpmvc
これにより、WordPressインストールのWPコンテンツ/プラグインディレクトリの下に新しいプラグインが作成されます。私にとって、それはアニメリストディレクトリを作成しました。そのディレクトリを開き、Anime_list_loader.phpファイルを開きます。このファイルには、プラグインをアクティブ化または非アクティブ化すると実行される機能が含まれています。多くのカスタムデータを保存する必要があるため、オプションAPIを使用してデータベースに保存する代わりに、カスタムテーブルを作成する必要があります。そのためには、プラグインのアクティブ化時に新しいテーブルを作成するコードを追加する必要があります。 Activateメソッド内に次のコードを追加します
./wpmvc generate plugin AnimeList
次に、非アクティブ化方法では、混乱をきれいにする必要があります。以下のコードは、WordPressデータベースからテーブルを削除します。
global $wpdb; $sql = ' CREATE TABLE '. $wpdb->prefix . 'animelists ( id int(11) NOT NULL auto_increment, title varchar(255) NOT NULL, poster varchar(255) NOT NULL, plot TEXT NOT NULL, genres TEXT default NULL, PRIMARY KEY (id) )'; dbDelta($sql);
WordPress Adminページから新しいプラグインをアクティブにする良い機会です。すべてが正しく機能した場合、WordPressデータベースにwp_anime_listsテーブルを作成するはずです。
次に、次のコマンドを実行します
上記のコマンドは、指定したモデルのビュー、コントローラー、モデルを生成します。最初のアニメリストはプラグインの名前で、2番目のアニメリストはモデルの名前です。 WPMVCはここで命名規則を使用していることに注意してください。モデルは常に単数形である必要があり、テーブルは複数形です。そして、モデルの名前にあるすべての大文字は、それをアンダースコアで分離する必要があることを意味します。モデルの名前は、テーブルの名前に基づいている必要があります。したがって、上記のルールを使用して、テーブルの名前がANIME_LISTSの場合、モデルにはAnimElistという名前が必要です。アンダースコアはキャメルケシングに変わり、複数形は単数形に変換されます。次に、add.phpファイルを開き、app/views/admin/anime_lists/でedit.phpを開き、次のコードを追加します。
edit.phpファイルでcd path/to/plugins/wp-mvc
chmod +x wpmvc
次に、入力方法を使用してテーブルに追加した各列を出力します。この方法は、最初の引数としてフィールドの名前を取り上げます。デフォルトでは、WPMVCは、データ型をチェックすることで出力するフィールドのタイプを決定します。したがって、データ型がvarcharの場合、テキスト入力が出力されます。データ型がテキストの場合、テキストエリアなどが出力されます。
./wpmvc generate plugin AnimeList
別の入力タイプを使用する場合は、入力のタイプを2番目の引数として含む配列を指定できます。
global $wpdb; $sql = ' CREATE TABLE '. $wpdb->prefix . 'animelists ( id int(11) NOT NULL auto_increment, title varchar(255) NOT NULL, poster varchar(255) NOT NULL, plot TEXT NOT NULL, genres TEXT default NULL, PRIMARY KEY (id) )'; dbDelta($sql);
この時点で、いくつかのアニメショーを追加できるようになりました。 WP MVCは、モデルの名前にちなんで名付けられたWordPressダッシュボードに新しいメニューの追加を自動的に処理します。この場合、新しいメニューの名前は「アニメリスト」でなければなりません。そこから、「新しい」サブメニューを使用して新しいアイテムの追加を開始できます。
次に、既存のアイテムをリストするコードを更新する必要があります。次のパスで見つけることができます:require_once ABSPATH.'wp-admin/includes/upgrade.php'; global $wpdb; $sql = 'DROP TABLE ' . $wpdb->prefix . 'anime_lists'; $wpdb->query($sql);
デフォルトでは、次のコードが含まれています:
./wpmvc generate scaffold AnimeList AnimeList
これは、Anime_Listsテーブルに名前フィールドがないため、テーブル内のすべての行に対して返されるエラーが発生します。この問題を解決するために、私たちがしなければならないことは、wp_anime_listsテーブルにあるフィールドを使用することだけです。
ファイルを更新したら、結果は次のようになります。
<h2>Add Anime List</h2> <?php echo $this->form->create($model->name); ?> <?php echo $this->form->input('title'); ?> <?php echo $this->form->input('poster'); ?> <?php echo $this->form->input('plot'); ?> <?php echo $this->form->input('genres'); ?> <?php echo $this->form->input('producer'); ?> <?php echo $this->form->end('Add'); ?>
今、私たちはウェブサイトの一般の面を進めることができます。
<h2>Edit Anime List</h2> <?php echo $this->form->create($model->name); ?> <?php echo $this->form->input('title'); ?> <?php echo $this->form->input('poster'); ?> <?php echo $this->form->input('plot'); ?> <?php echo $this->form->input('genres'); ?> <?php echo $this->form->input('producer'); ?> <?php echo $this->form->end('Update'); ?>
あなたの便利さのために、私が使用している.htaccessファイルは次のとおりです。
<?php echo $this->form->create($model->name); ?>
それが完了したら、ページにアクセスできるかどうかを確認できます。デフォルトでは、そこには何も見えません。それが取り組んでいたものです。
cd path/to/plugins/wp-mvc
最初に、アプリ/コントローラー/anime_lists_controller.phpファイルを開きます。これは、Anime_Listsページのコントローラーです。デフォルトでは、次のコードを含める必要があります
chmod +x wpmvc
私たちが上で行っているのは、$ this-> paramsを使用して、ベースコントローラーで提供されるデフォルトのパラメーターを取得することです。次に、デフォルト値をオーバーライドできるように変数に割り当てます。デフォルトでは、コントローラーはページごとにデータベースから10個のアイテムを選択します。 6のみを選択したい場合は、Per_Pageパラメーターを6に設定することでそれを行うことができます。
./wpmvc generate plugin AnimeList
カスタマイズするために必要なのはそれだけです。コードの残りの部分は、モデルのPaginateメソッドを使用してコレクションを作成するだけです。このコレクションは、「オブジェクト」(アニメショー)を渡すために使用され、ページネーションをビューに設定します。
global $wpdb; $sql = ' CREATE TABLE '. $wpdb->prefix . 'animelists ( id int(11) NOT NULL auto_increment, title varchar(255) NOT NULL, poster varchar(255) NOT NULL, plot TEXT NOT NULL, genres TEXT default NULL, PRIMARY KEY (id) )'; dbDelta($sql);
require_once ABSPATH.'wp-admin/includes/upgrade.php'; global $wpdb; $sql = 'DROP TABLE ' . $wpdb->prefix . 'anime_lists'; $wpdb->query($sql);
最後に、ページネーションを出力します。
./wpmvc generate scaffold AnimeList AnimeList
次に、同じディレクトリで_item.phpファイルを開き、次のコードを追加します。
<h2>Add Anime List</h2> <?php echo $this->form->create($model->name); ?> <?php echo $this->form->input('title'); ?> <?php echo $this->form->input('poster'); ?> <?php echo $this->form->input('plot'); ?> <?php echo $this->form->input('genres'); ?> <?php echo $this->form->input('producer'); ?> <?php echo $this->form->end('Add'); ?>
これは、各オブジェクトの詳細を示しています。上記のコードからわかるように、$ Object変数から各フィールドに直接アクセスできます。また、MVC_Public_Urlというヘルパー関数を使用して、各オブジェクトの個々のページを指すURLを生成しています。このメソッドは、コントローラーの名前とオブジェクトのIDを含む配列を取り上げます。
<h2>Edit Anime List</h2> <?php echo $this->form->create($model->name); ?> <?php echo $this->form->input('title'); ?> <?php echo $this->form->input('poster'); ?> <?php echo $this->form->input('plot'); ?> <?php echo $this->form->input('genres'); ?> <?php echo $this->form->input('producer'); ?> <?php echo $this->form->end('Update'); ?>
次に、個々のオブジェクトページを更新する必要があります。そのために、show.phpファイルを開きます。まだ同じディレクトリにあります。
<?php echo $this->form->create($model->name); ?>
ここではそれほど違いはありません。基本的には、前のビューの出力と同じです。今回のみ、プロットも出力します。
<?php echo $this->form->input('title'); ?> <?php echo $this->form->input('poster'); ?> <?php echo $this->form->input('plot'); ?> <?php echo $this->form->input('genres'); ?> <?php echo $this->form->input('producer'); ?>
また、メインANIME_LISTSページへのリンクを追加しています:
<?php echo $this->form->input('is_awesome', array('type' => 'checkbox')); ?>
物事を目に少し心地よくするために。 Webサイトの公開面にCSSを追加しましょう。アプリ/public/CSSディレクトリにStyleSheetsを追加できます。ファイルAnime-lists.cssに名前を付けて、次のコードを追加します。
cd path/to/plugins/wp-mvc
作成したばかりのスタイルシートを使用するために。プラグインのアプリ/configディレクトリの下にBootstrap.phpファイルを作成します。次に、次のコードを追加します
chmod +x wpmvc
それが完了したら、管理側にいくつかのアイテムを追加しました。最終的な出力は次のようになります:

結論
それだけです!このチュートリアルでは、それを利用するプラグインを作成することにより、WordPressにMVCを実装する方法について学びました。このチュートリアルでは、表面を傷つけただけです。詳細については、WP MVCドキュメントを必ずチェックしてください。あなたはどうですか? WordPressに他のMVCソリューションを知っていますか、それとも使用していますか?コメントでお知らせください。
WordPress MVC
に関するよくある質問WordPress MVCと従来のWordPress開発の違いは何ですか?
従来のWordPress開発では、PHPを使用してテーマとプラグインを作成しますが、WordPress MVC(Model-View-Controller)はデザインパターンです。 3つの相互接続コンポーネントへのアプリケーションロジック。この分離により、開発者は複雑なアプリケーションをより効率的に管理できます。モデルはデータとビジネスロジックを処理し、ビューはデータの表示を管理し、コントローラーはユーザー入力を処理します。この構造により、コードがより整理され、再利用可能で、メンテナンスが容易になります。
WordPress MVCを使用してWordPress MVCの使用を開始するには、WordPress MVCフレームワークをインストールするにはどうすればよいですか。 WP MVC、Typerocket、Rareloopなど、いくつかのオプションがあります。インストールしたら、WordPressアプリケーションのモデル、ビュー、コントローラーの作成を開始できます。これらのフレームワークは、開始を支援するための詳細なドキュメントとチュートリアルを提供します。
WordPress MVCを使用することの利点は何ですか?コードにクリーンで整理された構造を提供し、維持と更新を容易にします。また、アプリケーションのさまざまな部分で同じモデルまたはビューを使用できるため、コードの再利用性も促進します。さらに、ビジネスロジックをプレゼンテーションレイヤーから分離し、開発者とデザイナーが独立して作業できるようにします。WordPress MVCは、すべてのタイプのWordPressプロジェクトに適していますか?ただし、簡単なWebサイトやブログの場合、従来のWordPress開発はより簡単かつ効率的かもしれません。WordPress MVCはデータベース操作をどのように処理しますか?データベースと通信し、クエリを実行し、結果を返します。この懸念の分離により、コードがよりクリーンで管理が容易になります。発達。ただし、フロントエンドのJavaScriptなど、アプリケーションの特定の部分に他の言語を使用できます。 WordPress MVCを学びます。使用しているMVCフレームワークの公式ドキュメントから始めることができます。また、コミュニティから学び、助けを得ることができるオンラインチュートリアル、コース、フォーラムもあります。
WordPress MVCはデータベース操作をどのように処理しますか?データベースと通信し、クエリを実行し、結果を返します。この懸念の分離により、コードがよりクリーンで管理が容易になります。発達。ただし、フロントエンドのJavaScriptなど、アプリケーションの特定の部分に他の言語を使用できます。 WordPress MVCを学びます。使用しているMVCフレームワークの公式ドキュメントから始めることができます。また、コミュニティから学び、助けを得ることができるオンラインチュートリアル、コース、フォーラムもあります。
以上がWordPress MVCを開始しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

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

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

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

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

ホットトピック











最近、ユーザーがお気に入りの投稿をパーソナライズされたライブラリに保存できるようにすることで、ユーザー向けのパーソナライズされたエクスペリエンスを作成する方法を示しました。一部の場所で名前を使用することで、パーソナライズされた結果を別のレベルに引き上げることができます(つまり、ウェルカム画面)。幸いなことに、WordPressにより、ユーザーのログインに関する情報を簡単に入手できます。この記事では、現在ログインしているユーザーに関連する情報を取得する方法を紹介します。 get_currentuserinfo()を使用します。 関数。これは、テーマ(ヘッダー、フッター、サイドバー、ページテンプレートなど)のどこでも使用できます。それが機能するためには、ユーザーをログインする必要があります。したがって、使用する必要があります

WordPressの記事リストを調整するには4つの方法があります。テーマオプションを使用し、プラグイン(投稿タイプの注文、WP投稿リスト、ボックスのものなど)を使用し、コード(functions.phpファイルに設定を追加)を使用するか、WordPressデータベースを直接変更します。

ブログは、人々が自分の意見、意見、意見をオンラインで表現するための理想的なプラットフォームです。多くの初心者は自分のウェブサイトを構築することに熱心ですが、技術的な障壁やコストの問題を心配することをためらっています。ただし、プラットフォームが初心者の能力とニーズを満たすために進化し続けるにつれて、今まで以上に容易になり始めています。 この記事では、テーマの選択からプラグインの使用まで、セキュリティとパフォーマンスを向上させ、独自のWebサイトを簡単に作成できるように、WordPressブログを構築する方法を段階的に導きます。 ブログのトピックと方向を選択してください ドメイン名を購入したり、ホストを登録する前に、カバーする予定のトピックを特定することをお勧めします。個人的なウェブサイトは、旅行、料理、製品のレビュー、音楽、またはあなたの興味を引き起こす趣味を中心に展開できます。あなたが本当に興味を持っている領域に焦点を当てることは継続的な執筆を奨励することができます

親カテゴリアーカイブページに子カテゴリを表示する方法を知りたいですか?分類アーカイブページをカスタマイズするときは、訪問者にとってより便利にするためにこれを行う必要がある場合があります。この記事では、親カテゴリアーカイブページに子カテゴリを簡単に表示する方法を示します。サブカテゴリが親カテゴリアーカイブページに表示されるのはなぜですか?親カテゴリアーカイブページにすべての子カテゴリを表示することにより、訪問者にとってより一般的で便利になります。たとえば、本に関するWordPressのブログを実行し、「テーマ」と呼ばれる分類法を持っている場合、「小説」、「ノンフィクション」などのサブ課題を追加して、読者ができるようにすることができます。

過去には、拡張後のプラグインを使用してWordPressの投稿を期限切れにする方法を共有してきました。さて、Activity List Webサイトを作成するとき、このプラグインは非常に便利であることがわかりました。期限切れのアクティビティリストを簡単に削除できます。第二に、このプラグインのおかげで、有効期限後の日付までに投稿を並べ替えることも非常に簡単です。この記事では、WordPressの有効期限後の日付で投稿を並べ替える方法を紹介します。プラグインの変更を反映してカスタムフィールド名を変更するためのコードを更新しました。コメントで私たちに知らせてくれたTajimに感謝します。特定のプロジェクトでは、イベントをカスタムポストタイプとして使用します。今

WordPressホストを使用してWebサイトを構築するには、次のようにする必要があります。信頼できるホスティングプロバイダーを選択します。ドメイン名を購入します。 WordPressホスティングアカウントを設定します。トピックを選択します。ページと記事を追加します。プラグインをインストールします。ウェブサイトをカスタマイズします。あなたのウェブサイトを公開します。

WordPress Webサイトやソーシャルメディアアカウントを自動化する方法をお探しですか? 自動化を使用すると、WordPressのブログ投稿やFacebook、Twitter、LinkedIn、Instagramなどで自動的に共有できます。 この記事では、IFTTT、Zapier、およびUncanny Automatorを使用してWordPressとソーシャルメディアを簡単に自動化する方法を紹介します。 WordPressとソーシャルメディアを自動化する理由 WordPreを自動化します

WordPressソースコードのインポートには、次の手順が必要です。テーマ変更のサブテーマを作成します。ソースコードをインポートし、サブトピックのファイルを上書きします。サブテーマを有効にして効果的にします。変更をテストして、すべてが機能することを確認します。
