web-dev-qa-db-ja.com

テーマとプラグインの違いは?

テーマとプラグインの間の具体的な違いについては興味があります。私はそれの要旨を得ます...テーマはルックアンドフィール(html/css)と関係があり、プラグインは機能性(code/php)の追加と関係があります。しかし、人気のあるTwitterにインスパイアされたP2のようなテーマは機能性を追加するように思われます...単にルックアンドフィールを強化するのではありません。それは私を少し混乱させます。このロッキン交換で誰かが私を啓発することができますか?

とても有難い。

エディ

9
Eddie

テーマはブログの表示とレイアウトを管理しますが、機能を追加することもできます。

プラグインはブログに機能を追加しますが、レイアウトに要素を追加することもできます。

特に、特定のプラグインをテーマにバンドルする場合は、この2つの間には多くのクロスオーバーがあります。ただし、最大の違いはサイトが使用するテンプレートにあります。

テーマ

テーマは、各ページに使用されるテンプレートを定義します。一般に、テーマのindex.phpは、ほぼすべての目的に使用されます。これを分割して、header.phpfooter.phpを別々に作成することもできます。それからあなたはsidebar.phpを追加することができます。少なくともこれら4つのファイルを見たことがあると思います。1つはヘッダーを定義するもの、1つはサイドバーを定義するもの、もう1つはフッターを定義するものです。

さらに、単一の投稿をスタイルするためにsingle.phpを、個々のページをスタイルするためにpage.phpを定義することができます。

サイトが読み込まれてページまたは投稿が要求されると、WordPressはその要求をテーマで定義されているテンプレートファイルにルーティングします。それから、それはページ上のものをレイアウトする方法を知っています。伝統的に、テーマはレイアウトのためのjustです。

プラグイン

一方、プラグインは、テーマなどで使用される要素を追加することができます。プラグインは、あなたのテーマが投稿やページに追加できるFacebookのLikeボタンを追加することができます。 別のプラグイン Google Readerフィードにアクセスして管理するためのウィジェットを管理ダッシュボードに追加できます - これはnotがあなたのサイトのレイアウトに反映されますが、機能を追加します。新しい投稿を公開するたびに、別のプラグインが自動的にTwitterに投稿することができます。

テーマは、サイトのレイアウトとパフォーマンスに直接関係する機能を追加することができます。プラグインはWordPressのより深い機能を追加することができます - テーマによっても使用されることができる機能。

13
EAMann

このように想像してみてください。テーマはサイト全体の主な構造を定義します!テーマは、投稿、ページ、カスタム投稿タイプ、カスタムページなどの構造のようなものです。これまでのところ、テーマは本当にHTMLコードです。 Wordpressの言い訳の最後には、HTMLコードがブラウザに返され、ブラウザに表示されます。そのHTMLはテーマファイル(index.php、header.php、footer.php、single.php)に基づいて構築されています。

ブラウザに出力する前に、プラグインはhook&filterを使用してテーマを変更します。

例:投稿の最後にソーシャルボタンを追加したい場合! single.phpを変更してthe_content()のすぐ下にソーシャルボタンを配置するコードを追加することができます。

ただし、Wordpressのフィルタとフックを使用して投稿のHTMLを変更し、ソーシャルボタンを追加するプラグインを作成することもできます。

Hookを使ってjavascriptを追加し、いくつかのロジックコードを作成し、その結果に基づいてHTMLをレンダリングしてから、Wordpressのhook&filterを介して何かを追加または置換することができます。

しかし、テーマファイルにプラグインコードを入れるとどうなりますか?あなたがテーマのfunctions.phpにコンテンツをレンダリングするためにいくつかの関数を入れると仮定します!その後、テーマのどこかでこれらの関数を手動で呼び出してください。あるいはさらに良いことには、テーマを手動で呼び出さなくてもフックとフィルタを使ってコンテンツを自動変更することができます。

Wordpressがあなたのコードを何らかの方法でインクルードし、実行することができるのであれば!あなたのコードがそれを実行する限り、それはhook&filterを使うことを通してあなたのために何でもすることができます!単純なプラグインの中には、テーマファイルに入れるのがとても簡単なものがあります。しかし、いくつかの大きなプラグインはテーマファイルに入れるには膨張しすぎています。

その後、あなたはその機能を削除することにした、あなたはテーマファイルに行き、コードを削除しますか?ばかげてね?だから私たちはプラグインを持っている、それは自動的にコンテンツを変更するデータベースを変更するには、Wordpressの実行中のプロセスを変更する方法です...

さらに、テーマを呼び出す前にいくつかのフックが実行されるので、テーマファイルにテーマを入れることはできません。

結論:あなたのコードがwordpressに含まれている限り、wordpressはそれを実行して結果を返します。あなたはそのコードをテーマファイルに入れることができます、ワードプレスはあなたのためにそれを呼びます!しかし、もしあなたがそれをプラグインとしてパッケージするなら、あなたはどんなテーマファイルも変更することなく簡単にインストール/非アクティブ化/削除することができます!さらに、あなたはまたあなたのテーマをシンプル/クリーンに保ちます!なので何かを変更する必要があるときは、できればそれをプラグインとして入れてください。テーマファイルに入れないでください。

2
kureikain

プラグインとテーマの基本的な違いは次のとおりです。

  • プラグインはあなたのWordPressサイトのwp-content/pluginsディレクトリにあります。テーマはwp-content/themesディレクトリにあります。

  • どのWordPress Webサイトにもさまざまなプラグインが含まれています。ただし、1つのWebサイトにはアクティブなテーマが1つだけあります。

  • あなたのウェブサイト上でテーマを変えているのなら、あなたは古いテーマの機能を使うことができません。一方、新しいプラグインをインストールしても、Webサイト上の他のアクティブなプラグインには影響しません。

0
Solwin Infotech