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次に、WPMVCファイルに実行権限を追加します。これは、新しいプラグインを生成するために使用するファイルです。
次に、新しいプラグインを生成できるようになりました。次のコマンドを実行して、それを実行します。
chmod +x wpmvc
これにより、WordPressインストールのWPコンテンツ/プラグインディレクトリの下に新しいプラグインが作成されます。私にとって、それはアニメリストディレクトリを作成しました。そのディレクトリを開き、Anime_list_loader.phpファイルを開きます。このファイルには、プラグインをアクティブ化または非アクティブ化すると実行される機能が含まれています。多くのカスタムデータを保存する必要があるため、オプションAPIを使用してデータベースに保存する代わりに、カスタムテーブルを作成する必要があります。そのためには、プラグインのアクティブ化時に新しいテーブルを作成するコードを追加する必要があります。 Activateメソッド内に次のコードを追加します
./wpmvc generate plugin AnimeList上記のコードでは、RAW SQLクエリを使用してID、タイトル、ポスター、プロット、およびジャンルフィールドを備えたテーブルを作成しています。次に、DBDELTA関数を使用してSQLクエリを実行します。
次に、非アクティブ化方法では、混乱をきれいにする必要があります。以下のコードは、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に組み込まれたフォームヘルパーを利用します。それを分解するために、最初に新しいフォームを作成し、次にモデルの名前をその引数として提供します。この場合、モデルの名前はAnimeListです。
次に、入力方法を使用してテーブルに追加した各列を出力します。この方法は、最初の引数としてフィールドの名前を取り上げます。デフォルトでは、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);最後に、Endメソッドを使用してフォームを閉じます。これは、ボタンのラベルをその引数として取り上げます。
この時点で、いくつかのアニメショーを追加できるようになりました。 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 id="Add-Anime-List">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 id="Edit-Anime-List">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'); ?>先に進む前に、コマンドラインを使用してモデル、コントローラー、ビューを生成するたびに知っておくことが重要です。 WP MVCは、そのモデルの新しいページも割り当てます。したがって、AnimElistsモデルの場合、Anime_Listsページを作成します。 apache構成でmod_rewriteを有効にすることを忘れないでください。wordpress.htaccessファイルを追加し、permalinks設定をPost Nameを使用するように設定します。
あなたの便利さのために、私が使用している.htaccessファイルは次のとおりです。
<?php echo $this->form->create($model->name); ?>
それが完了したら、ページにアクセスできるかどうかを確認できます。デフォルトでは、そこには何も見えません。それが取り組んでいたものです。
cd path/to/plugins/wp-mvc
最初に、アプリ/コントローラー/anime_lists_controller.phpファイルを開きます。これは、Anime_Listsページのコントローラーです。デフォルトでは、次のコードを含める必要があります
chmod +x wpmvcベースパブリックコントローラー(MVCPublicController)から追加されたデフォルトに固執したい場合は、これは問題ありません。ただし、物事を少しカスタマイズしたい場合は、次のものでインデックスメソッドをオーバーライドする必要があります。
私たちが上で行っているのは、$ 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);Anime_Listsページのレンダリングを担当するビューを開きます。 app/views/anime_lists/index.phpにあります。開いたら、次のコードを追加します:
require_once ABSPATH.'wp-admin/includes/upgrade.php'; global $wpdb; $sql = 'DROP TABLE ' . $wpdb->prefix . 'anime_lists'; $wpdb->query($sql);これは、コントローラーから以前に渡されたすべてのオブジェクトをループします。ループ内では、各オブジェクトの詳細を表示するビューをレンダリングします。 render_viewメソッドは、最初の引数としてビューの名前を取り上げ、2番目の引数として渡したいデータを取り上げます。
最後に、ページネーションを出力します。
./wpmvc generate scaffold AnimeList AnimeList
次に、同じディレクトリで_item.phpファイルを開き、次のコードを追加します。
<h2 id="Add-Anime-List">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 id="Edit-Anime-List">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'); ?>これにより、次のようなURLが生成されます
次に、個々のオブジェクトページを更新する必要があります。そのために、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_CSS_URLと呼ばれる別のヘルパー関数を使用しています。この関数は、プラグインの機械に優しい名前(ヒント:プラグインのフォルダー名をコピー)とスタイルシートのファイル名を取り上げます。
それが完了したら、管理側にいくつかのアイテムを追加しました。最終的な出力は次のようになります:

結論
それだけです!このチュートリアルでは、それを利用するプラグインを作成することにより、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 サイトの他の関連記事を参照してください。

WordPressPluginsSisificallyScmscmScapabilitivitiationsCustomizationAndFunctionality.1)50,000を超える50,000PluginsallowuserStotailorStotailorsiteforseo、e-commerce.2)PluginsCanextEndCorefeatures、iceadding-customsttypes.3)

はい、WordPressはeコマースに非常に適しています。 1)WooCommerceプラグインを使用すると、WordPressはすぐに完全に機能的なオンラインストアになります。 2)パフォーマンスの最適化とセキュリティに注意し、キャッシュとセキュリティプラグインの定期的な更新と使用が重要です。 3)WordPressは、ユーザーエクスペリエンスを改善し、SEOを大幅に最適化するための豊富なカスタマイズオプションを提供します。

あなたのウェブサイトをyandexのウェブマスターツールに接続しますか? Google Search Console、Bing、YandexなどのWebマスターツールは、Webサイトの最適化、トラフィックの監視、robots.txtの管理、Webサイトのエラーの確認などを支援します。この記事では、WordPress WebサイトをYandex Webmasterツールに追加して、検索エンジントラフィックを監視する方法を共有します。 yandexとは何ですか? Yandexは、GoogleとBingに似たロシアに拠点を置く人気のある検索エンジンです。 Yandexで優れています

WordPressでHTTP画像アップロードエラーを修正する必要がありますか?このエラーは、WordPressでコンテンツを作成する場合、特にイライラする可能性があります。これは通常、組み込みのWordPressメディアライブラリを使用して画像またはその他のファイルをCMSにアップロードするときに発生します。この記事では、WordPressのHTTP画像アップロードエラーを簡単に修正する方法を示します。 WordPressメディアのアップロード中にHTTPエラーの理由は何ですか? WordPress Mediaアップローダーを使用してファイルをWOにアップロードしようとするとき

最近、読者の1人が、WordPressサイトの追加メディアボタンが突然機能しなくなったと報告しました。この古典的なエディターの問題には、エラーや警告が表示されないため、ユーザーが「メディアの追加」ボタンが機能しない理由を知りません。この記事では、WordPressの追加メディアボタンを簡単に修正する方法を示します。 WordPressの「メディアの追加」ボタンが動作を停止する原因は何ですか?古い古典的なWordPressエディターをまだ使用している場合、メディアの追加ボタンを使用すると、画像、ビデオなどをブログ投稿に挿入できます。

WordPress WebサイトでCookieの使用方法を知りたいですか? Cookieは、ユーザーのブラウザに一時情報を保存するための便利なツールです。この情報を使用して、パーソナライズと行動ターゲティングを通じてユーザーエクスペリエンスを強化できます。この究極のガイドでは、プロフェッショナルのようにWordPressCookiesを設定、取得、削除する方法を紹介します。注:これは高度なチュートリアルです。 HTML、CSS、WordPress Webサイト、PHPに習熟する必要があります。クッキーとは何ですか?ユーザーがWebサイトにアクセスすると、Cookieが作成および保存されます。

WordPress Webサイトに「429が多すぎるリクエスト」エラーが表示されますか?このエラーメッセージは、ユーザーがWebサイトのサーバーにHTTPリクエストを送信しすぎていることを意味します。このエラーは、エラーの原因を見つけるのが難しいため、非常にイライラする可能性があります。この記事では、「WordPress429ToomanyRequests」エラーを簡単に修正する方法を示します。 WordPress429のリクエストが多すぎるのは何ですか? 「429toomanyRequests」エラーの最も一般的な原因は、ユーザー、ボット、またはスクリプトがウェブサイトにアクセスしようとすることです

wordpresscanhandlelargewebsiteswithcarefulningandoptimization.1)usecachingtoreduceServerload.2)optimizeyourdatabaseRegularly.3)rivenceCdntodistributecontent.4)vetpluginsandmestoavoidConflicts.5)


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

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

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

Dreamweaver Mac版
ビジュアル Web 開発ツール

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません
