WordPressサイトにサイト固有のプラグインを追加したいですか?
サイト固有のプラグインを使用すると、テーマに依存せずにWordPressサイトにコードスニペットを簡単に追加できます。
この投稿では、サイト固有のWordPressプラグインを作成する方法と、なぜそれが重要なのかを説明します。
サイト固有のWordPressプラグインとは?
サイト固有のWordPressプラグインは、テーマに依存しないすべてのカスタマイズスニペットを追加するために使用できるスタンドアロンのプラグインです。
WordPressのチュートリアルで、テーマのfunctions.phpファイルやサイト固有のプラグインにコードを追加するように指示されることがよくあります。
WordPressにはサイト専用のプラグインは付属していません。自分で作成し、インストールして有効化する必要があります。
なぜサイト専用のWordPressプラグインを作るのか?
先に述べたように、テーマのfunctions.phpファイルやサイト固有のプラグインに追加できるコードを示すチュートリアルによく出くわします。
これらのカスタムコードを使用して、新しい投稿タイプ、タクソノミー、ショートコードを追加したり、サイトを改善するためのハックを大量に追加することができます。
カスタムコードをテーマの関数ファイルに追加した場合、テーマを更新したり変更したりすると、そのコードは消えてしまいます。
子テーマを作成し、子テーマの関数ファイルを使ってコードを保存することができる。ただし、テーマを切り替えるとコードは消えてしまいます。
サイト固有のWordPressプラグインを使用すると、WordPressサイトにカスタムコードスニペットを簡単に追加でき、テーマに依存しないことを確認できます。スタンドアロンのWordPressプラグインなので、テーマに依存せず、テーマの更新や切り替えも自由です。
ということで、サイト固有のプラグインを使ってカスタムコードを簡単に追加する方法を見ていきましょう。ここでは2つの方法を紹介しますので、自分に合った方法を選んでください(ヒント:初心者には2の方法が簡単です)。
方法1:手動でサイト固有のWordPressプラグインを作成する
初心者の方には少しマニアックに聞こえるかもしれませんが、できる限り簡単にご説明します。
まず、デスクトップに新しいフォルダーを作成し、サイトにちなんだ名前を付けます。例:mywebsite-plugin.
メモ帳やテキストエディットのようなプレーンテキストエディターをコンピューターで開く。
新規ファイルを作成し、デスクトップのプラグインフォルダーにmywebsite-plugin.phpとして保存する必要があります。
WordPressがプラグインとして認識できるように、プラグインファイルには特定のヘッダーコードが必要です。以下のコードをmywebsite-plugin.phpファイルに追加してください:
<?php
/*
Plugin Name: Site Plugin for example.com
Description: Site specific code changes for example.com
*/
/* Start Adding Functions Below this Line */
/* Stop Adding Functions Below this Line */
?>
example.comを自分のドメイン名に置き換えることができます。そうすれば、サイト固有のプラグインの準備は完了です。
サイト固有のプラグインをサイトにアップロードするには、2つの方法があります。WordPressの管理画面からアップロードするか、FTPを使ってアップロードするかです。
1.WordPress管理エリアからサイト専用プラグインをインストールする(推奨)
この方法は簡単で、すべてのユーザーにお勧めできる。
まず、サイト固有のプラグインフォルダーのzipファイルを作成する必要があります。
Windowsユーザーは、プラグインフォルダーを右クリックし、” 圧縮 (zip) フォルダーに送る” を選択するだけです。
マックユーザーは右クリックする必要がある。
次に、「mywebsite-プラグインを圧縮」を選択します。
プラグインのzipファイルを入手したら、WordPress管理エリアのプラグイン ” 新規追加ページにアクセスします。
次に、上部にある「プラグインをアップロード」ボタンをクリックします。
次に、「Choose File」ボタンをクリックして、先ほど作成したzipファイルを選択し、「Install Now」ボタンをクリックします。
WordPressがプラグインのアップロードとインストールを行います。アップロードが完了したら、「プラグインを有効化する」ボタンをクリックして、サイト固有のプラグインの使用を開始する必要があります。
2.FTP経由でサイト固有のWordPressプラグインをアップロードする。
この方法では、zipファイルを作成する必要はありません。FTPでプラグインをアップロードすることになります。
まず、FTPクライアントを使用してサイトに接続する必要があります。
接続したら、リモートサイトのカラムの下にある/wp-content/plugins/フォルダーに移動します。次に、サイト固有のプラグイン・フォルダーを選択し、サイトにアップロードする必要があります。
FTPクライアントがサイト固有のプラグイン・フォルダーをWordPressサイトに転送します。これであなたのサイトにプラグインがインストールされます。
ただし、使用を開始するにはプラグインを有効化する必要があります。プラグインを有効化するには、WordPress管理エリアの「プラグイン」ページを開き、サイト固有のプラグインの下にある「有効化」リンクをクリックします。
これですべてです。これでサイト固有のプラグインが使えるようになりました。
カスタムコードスニペットをサイト固有のプラグインに追加する
プラグインを編集してカスタムコードスニペットを追加するには、2つの方法があります。
最初の方法は、WordPressの管理エリアから行う方法です。プラグイン ” エディターページに行くことができます。
警告メッセージが表示されますので、’I understand’ボタンをクリックして続行してください。また、より安全な方法でファイルを編集したい場合は、以下の2番目の方法に進んでください。
次に、「Select plugin to edit(編集するプラグインを選択)」と書かれたドロップダウン・メニューから、サイト固有のプラグインを選択する必要があります。
エディターがプラグインファイルを読み込み、コードスニペットを追加できるようになります。
完了したら、「ファイルを更新」ボタンをクリックして変更を保存します。
コードに足りないものがあったり、サイトを壊す可能性がある場合は、プラグインエディターが自動的に変更を取り消します。
しかし、エディターが失敗し、死の白い画面が表示された場合は、FTPを使ってプラグインファイルを編集し、それらの変更を元に戻すことができます。
つ目の方法は、FTPを使ってプラグインファイルを直接編集する方法です。FTPクライアントを使用してプラグインフォルダーに移動します。プラグインファイルを右クリックし、「表示/編集」を選択します。
プラグインファイルをコンピューターにダウンロードし、編集してからアップロードし直すこともできます。
方法2:WPCodeを使用してカスタムコードを追加する(推奨)
この方法は非常にシンプルで、WPCodeを使用してWordPressで個々のコードスニペットを管理するためのより良い方法を提供します。
最初に行う必要があるのは、あなたのサイトに無料のWPCodeプラグインをインストールして有効化することです。詳しくは、WordPressプラグインのインストール方法のステップバイステップガイドをご覧ください。
プラグインを有効化すると、WordPressの管理メニューに「Code Snippets」という新しいメニュー項目が追加されます。それをクリックすると、すべてのカスタマイザーコードを管理できるページに移動します。
最初のコード・スニペットを追加するには、「新規追加」ボタンをクリックします。
スニペットの追加」ページが表示されます。ここでは、あらかじめ用意されたライブラリからコード・スニペットを選択するか、カスタマイザー・コードを追加することができます。
カスタムコードを追加するには、「カスタムコードの追加(新規スニペット)」オプションに移動し、「スニペットを使用」ボタンをクリックします。
カスタム・コード・スニペットのタイトルを入力します。これは、コードを識別するのに役立つものであれば何でも構いません。
その後、コード・ボックスにコード・スニペットを貼り付けてください。また、右側の「コードタイプ」ドロップダウンリストから「PHPスニペット」タイプを選択する必要があります。
また、「基本情報」セクションにコードのメモを追加することもできる。
このエリアには、このコードが何をするのか、どこで見つけたのか、なぜサイトに追加するのかを書いておくとよい。そうすることで、「未来のあなた」が「過去のあなた」がなぜこのコードを追加したのかを思い出す助けになる。
また、コードスニペットにタグを設定するオプションもあり、トピックや機能ごとにコードスニペットを整理することができます。
プラグインでは、コード・スニペットの実行方法も選択できます。インサーター’セクションで、’Auto Insert’メソッドを選択することで、サイトにコードを自動的に挿入して実行することができます。
管理エリア、フロントエンド、どこでも設定から選択できます。よくわからない場合は、初期設定の「どこでも実行」のままにしておいてください。
または、「ショートコード」メソッドを選択することもできます。この方法では、スニペットは自動的に挿入されません。スニペットを保存すると、サイト上の任意の場所に手動で挿入できるショートコードが作成されます。
また、「スマート条件ロジック」セクションを使用すると、一連のルールに基づいて自動インサートされたスニペットを表示または非表示にすることができます。
例えば、ログイン中のユーザーだけにコード・スニペットをロードしたり、特定のページURLだけにPHPコード・スニペットをロードしたり、ページのタイプに基づいてコード・スニペットを表示したりすることができます。
最後に、スイッチを’Inactive’から’Active’に切り替えて、’Save Snippet’ボタンをクリックする。
コード・スニペットを有効化せずに保存したい場合は、「Save Snippet」ボタンのみをクリックしてください。
コード・スニペットを保存して有効化すると、選択した挿入方法であれば、あなたのサイトで自動的に有効になります。
詳しくは、WordPressでカスタマイザーを簡単に追加する方法をご覧ください。
この投稿が、サイト固有のWordPressプラグインを作成する理由と方法を学ぶのにお役に立てば幸いです。また、サイト固有のプラグインを最大限に活用するための便利な関数ファイルのヒントや、最も必要とされているWordPressハックのリストもご覧ください。
If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.
BSubra
Is it possible to add code snippets like Google Analytics Code, Adsense code in Site Specific Pliugin. Or only possible to add codes we generally put in functions.php file.
I mean, is it possible to add codes in site-specific plugin what we generally put in Header.php file.
WPBeginner Support
You can do that if you would like, you can also use the insert headers and footers plugin.
管理者
Bola Oussou
hi
Thanks for this tuto
however is there a way to make this plugging(not to be visible) not in plugging list and also in a specific folder (not wp-content folder) ?
Thanls
Tor-Bjorn Fjellner
Actually yes, there is:
Instead of placing the plugin in …/wp-content/plugins/ you put it in …/wp-content/mu-plugins/ (You may have to create that directory, if it’s not there yet.
Plugins that are placed in mu-plugins are ALWAYS run, so the only way to deactivate a MU plugin (MU currently is construed as “must use”) is to delete it (or remain the directly mu-plugins to something else…).
Judith
Hi I tried to do the Site-specific plugin, but it is not working, I get this message “The package could not be installed. No valid plugins were found.
Plugin installation failed.”
What do I do?
WPBeginner Support
Hi Judith,
This usually means that the plugin header information is incorrect. You can try again and make sure that your plugin header is exactly in the format displayed in the tutorial.
管理者
Jonathan Manheim
I get this same error. I have tried maybe 10 times. Uploaded through admin and on FTP. Cannot get it to upload. I am using TextEditor to paste the code. Notice several things you don’t mention in the post that I wonder could be an issue. First, won’t let me save the file as .php. I have to save it as .php.rtf OR .rtf then go back and rename the file after it is saved.
Second, not sure what you mean by making sure the format for the plugin header is exactly the same. Should the line number be in there? If so, I can’t get that to work. If I copy and paste with the line numbers, the green vertical line doesn’t show up and there is no space between the line numbers and the code. Or am I supposed to just copy the code (without the line numbers)? Either way, I’ve tried everything I can with my current Textedit application and it will not work.
Any ideas? I can send you screen shots of exactly what I have if you would like
WPBeginner Support
Hi Jonathan,
You will need to save file as .php. Please use a different text editor on Windows you can use Notepad or download Notepad++. On Mac, you can use TextEdit or download and install TextWrangler.
You don’t need to copy and paste line numbers.
Kacper
In my case the issue was that the file had Unicode encoding. Changing it to ANSI fixed the issue.
Ikram
Hi,
Good day!
Would like to know how to set a white paper in my blog post article to download it with add email address from the visitor.
Thanks, Ikram
WPBeginner Support
Hi Ikram,
You can do that with the pro version of WPForms. You will need at least Plus plan for that. After users enter their email address and click submit you can redirect them to the download page.
管理者
Alain Fradette
Great info! Thanks so much. I have been using WordPress for years and this little gem made it so much easier!
Abhijeet
I have edited some code in Style.css . Will it be overwritten if i update a theme?
is it possible to create style css file in this site specific plugin?
LFreitas
Yes, they will.
You should create a child theme and put your modifications there instead of in the original theme.
Read more: https://www.wpbeginner.com/glossary/child-theme/
dave
White screen on publishing pages.
The code works to show child pages on a parent page using the shortcode however I am getting white screen. Anyone know why?
Tommy
The plugin generated 3 characters of unexpected output during activation. If you notice “headers already sent” messages, problems with syndication feeds or other issues, try deactivating or removing this plugin.
Saurin
I believe best approach to add custom code to site is child theme. No matter if we need to customize theme or not. I mad a practice to always use child theme even if there is no customization. This habit saved my time & effort many times. I dont think it is good to create extra plugin for such customization.
I believe in minimum use of plugin no matter how simple you created one.
Jason
Which is better, site-specific plugin or Child Theme? or both?
I need to create a custom post type to add some major functionality to my site so is the plugin better or the child theme and its functions.php?
Thanks!
Josh
The thing is, is that you’re creating the plug-in yourself, using the functions the same exact way. So the answer to your question would be that neither is better, because you should be using them WITH each other.
Josh
Think of the site-specific plug-ins as functions that are independent of your theme.
Vickey
How would I create a create a new plugin directory in Azure? I have Wordpress running on Azure using MS SQL Server, which I activated using Project NAMI.
vishal
not working on multisite with publisher theme can you help me this is my site and also tell me how can i remove featured image inside the post not from front page latest post
Nadia Khan
Hi there,
You WP Beginners are rock. and I want to thank you for your Struggles for us.
Now come to the point. I have installed an theme and in that theme, there is an function that is showing wp toolbar for guests, I have tried so many times to find this function in theme files to remove this, but i can’t. So please help me to remove that toolbar, that is showing to every visitor with wordpress logo and wordpress’s own link to their website. Screen Shot is attached.
Manuel
Does something like this work for plugins too? Im finding that I am making a few changes to plugins that I add to my site….many times deleting certain lines of code I dont want. I’m assuming that after I update that plugin, all my changes will be erased. How can I avoid this?
Elizabeth
Hi, thanks for the post. I’m getting an error when I activate the plugin for some reason:
Parse error: syntax error, unexpected ‘*’, expecting identifier (T_STRING) on line 9
Any ideas what I’ve done wrong?
Thanks!
WPBeginner Support
Hi Elizabeth,
There is an unexpected asterisk sign in the code on line 9 which is blocking the php script. Edit the file again and copy the code exactly as it is shown above. Make sure that you don’t copy line numbers in the code click on the Copy button at the top right corner of the code snippet box
.
管理者
Steven Denger
I tried naming the new folder as you did in the example but I got an error that said something in the way of you cannot use a name like this. This Instruction may be helpful to some – but it is very difficult and confusing to me and does not help at all. As I said – you need to explain this down to the fine details or otherwise these tutorals will not help. The name of this site is wp BEGINNER – and that is what I am. You project these tutorals to the more experienced.
I guess I will have to start going elswhere to get beginners instructiions because, most of time, wp beginner is not helpful – it is more like a techs only club.
Steven Denger
How do you get to the /wp-content/plugins/yoursitename-plugin/ in wordpress and upload a file there? I am lost on the first line of instruction. You guys always assume that we know these things in your instructions but they are not clear enough.
I went to cpanel and opened up the wpcontent > plugins – and it shows a list of plugins – but I am lost from this point. How do I go about uploading a file in here? I am a beginner – and you guys seem to always explain things like your instructing experienced techs. I am not but I go to WP Beginner to try to learn. It is usually difficult to follow your instructions and I end up having to go somewhere else in google search to find things explained down to a beginners level.
If you want to be more helpful try breaking things down a little more simple.
Manuel
Hey Steven,
I know the feeling! I’m far from a expert with wordpress and I pretty much live on google searches and this site trying to learn. I know a little bit and was able to get this to work. Send me your email and I’ll send you the steps with screenshots. I havent tested putting actual code into the plugin so we’ll see if that works….but I was able to see the newly created plugin on my admin page
Steven Denger
thank you manuel
NiceRazer
Hello, can you please tell me how to do that to? I’ve tried finding posts that would help me with this same prob but still didnt found it.
JoAnn Chateau
Thank you for the great advice and simple how-to instructions. I easily created a Site-Specific WordPress Plugin for my site and enabled shortcodes for widgets. Now I have less worry when changing themes, and I didn’t need to install another plugin. Again, thanks!
george
hi i followed the instruction on how to make a site plugin for my site. ive uploaded it but cant see it in my list of plugins.
any ideas why?
Dawn
I cannot find where the folders live in the plug in directory. I tried searching for: /wp-content/plugins/yoursitename-plugin/ (with my site name).
Kara
Never mind, I figured it out and got it activated. My hosting server was acting up, must have timed out or something…cheers!
Kara
I followed your instructions but i don’t know how to activate it. It doesn’t show in my list of plugind in my wp-admin. Can you help?
Sheyejinkazama
Thank you. Thank you so so much.
Molly
How do you get the plugin to “Network Activate” on a multi-site?