Deseja adicionar um plug-in específico do site ao seu site WordPress?
Um plug-in específico do site permite que você adicione facilmente trechos de código ao seu site WordPress sem depender do seu tema.
Neste artigo, explicaremos como criar um plug-in do WordPress específico para o site e por que ele é importante.
O que é um plug-in WordPress específico do site?
Um plugin WordPress específico do site é um plugin autônomo que pode ser usado para adicionar todos os trechos de personalização que não dependem do tema.
Ao trabalhar no seu site, você encontrará com frequência tutoriais do WordPress solicitando que você adicione código ao arquivo functions.php do seu tema ou a um plug-in específico do site.
O WordPress não vem com um plug-in específico para o site. Você precisará criar o seu próprio, instalá-lo e ativá-lo.
Por que criar um plug-in do WordPress específico para o site?
Como mencionamos anteriormente, você encontrará com frequência tutoriais que mostram alguns códigos que podem ser adicionados ao arquivo functions.php do seu tema ou a um plug-in específico do site.
Esses códigos personalizados podem ser usados para adicionar novos tipos de postagem, taxonomias, códigos de acesso e muitos outros recursos para aprimorar seu site.
Se você adicionar o código personalizado ao arquivo de funções do seu tema, ele desaparecerá se você atualizar ou trocar de tema.
Você pode criar um tema filho e usar o arquivo de funções do tema filho para salvar seu código. No entanto, seu código ainda desaparecerá se você trocar de tema.
Um plug-in do WordPress específico do site permite que você adicione facilmente trechos de código personalizados ao seu site do WordPress e garanta que eles sejam independentes do tema. É um plug-in autônomo do WordPress, o que significa que não depende do seu tema e que você pode atualizar ou trocar de tema.
Dito isso, vamos dar uma olhada em como adicionar facilmente o código personalizado usando um plug-in específico do site. Mostraremos duas maneiras de fazer isso, e você pode escolher o método que funciona melhor para você (dica: o método nº 2 é mais fácil para iniciantes).
Método 1: Criar manualmente um plug-in do WordPress específico do site
Sabemos que isso pode parecer um pouco nerd para os iniciantes, mas tentaremos simplificar ao máximo para você.
Primeiro, você precisa criar uma nova pasta na área de trabalho e dar a ela o nome do seu site. Por exemplo: mywebsite-plugin.
Agora, abra um editor de texto simples em seu computador, como o Notepad ou o TextEdit.
Você precisa criar um novo arquivo e salvá-lo como mywebsite-plugin.php na pasta do plugin em sua área de trabalho.
Seu arquivo de plug-in precisa de um código de cabeçalho específico para que o WordPress possa reconhecê-lo como um plug-in. Vá em frente e adicione o seguinte código ao seu arquivo 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 */
?>
Você pode substituir example.com por seu próprio nome de domínio. Depois de fazer isso, seu plug-in específico do site estará pronto.
Há duas maneiras de carregar o plug-in específico do site em seu site. Você pode carregá-lo por meio do painel de administração do WordPress ou usar o FTP.
1. Instale o plug-in específico do site na área de administração do WordPress (recomendado)
Esse método é mais fácil e recomendado para todos os usuários.
Primeiro, você precisa criar um arquivo zip da pasta do plug-in específico do seu site.
Os usuários do Windows podem simplesmente clicar com o botão direito do mouse na pasta do plug-in e selecionar Send to ” Compressed (zip) folder.
Os usuários de Mac precisam clicar com o botão direito do mouse.
Em seguida, selecione “Compress mywebsite-plugin”.
Depois de obter o arquivo zip do plug-in, vá para a página Plugins ” Add New (Adicionar novo ) na área de administração do WordPress.
Em seguida, clique no botão “Upload Plugin” na parte superior.
Em seguida, clique no botão “Choose File” (Escolher arquivo) para selecionar o arquivo zip criado anteriormente e, em seguida, clique no botão “Install Now” (Instalar agora).
O WordPress fará o upload e instalará o plug-in para você. Depois que ele for carregado, você precisará clicar no botão “Ativar plug-in” para começar a usar o plug-in específico do seu site.
2. Faça upload do plug-in do WordPress específico do seu site via FTP
Para esse método, não é necessário criar um arquivo zip. Você fará o upload do plug-in via FTP.
Primeiro, você precisará se conectar ao seu site usando um cliente FTP.
Depois de conectado, vá para a pasta /wp-content/plugins/ na coluna do site remoto. Em seguida, você precisa selecionar a pasta de plug-ins específica do site e carregá-la em seu site.
Seu cliente FTP agora transferirá a pasta do plugin específico do site para o site do WordPress. Isso instalará o plug-in em seu site.
No entanto, você ainda precisará ativar o plug-in para começar a usá-lo. Você pode fazer isso acessando a página “Plugins” na área de administração do WordPress e clicando no link “Ativar” abaixo do plug-in específico do site.
Isso é tudo. Seu plug-in específico do site está pronto para ser usado.
Adição de snippets de código personalizados ao seu plug-in específico do site
Há duas maneiras de editar seu plug-in e adicionar trechos de código personalizados a ele.
O primeiro método é fazer isso por meio da área de administração do WordPress. Você pode ir para a página Plugins ” Editor.
Você verá uma mensagem de aviso e precisará clicar no botão “I understand” (Eu entendo) para continuar. Como alternativa, se quiser uma maneira mais segura de editar os arquivos, pule para o segundo método abaixo.
Em seguida, você precisa selecionar o plug-in específico do site no menu suspenso denominado “Select plugin to edit” (Selecionar plug-in para editar).
O editor carregará o arquivo do plug-in e você poderá adicionar trechos de código a ele.
Quando terminar, clique no botão “Update File” (Atualizar arquivo) para salvar suas alterações.
Se houver algo faltando em seu código ou se houver a possibilidade de danificar seu site, o editor de plug-ins desfará automaticamente suas alterações.
No entanto, se o editor falhar e você vir a tela branca da morte, poderá usar o FTP para editar o arquivo do plug-in e desfazer essas alterações.
O segundo método é editar diretamente o arquivo do plug-in usando FTP. Basta acessar a pasta do plug-in usando seu cliente FTP. Clique com o botão direito do mouse no arquivo do plug-in e selecione “View/Edit” (Exibir/Editar).
Você também pode fazer o download do arquivo do plug-in em seu computador, editá-lo e carregá-lo novamente.
Método 2: Adicionar código personalizado usando o WPCode (recomendado)
Esse método é muito mais simples e oferece uma maneira melhor de gerenciar seus trechos de código individuais no WordPress usando o WPCode.
A primeira coisa que você precisa fazer é instalar e ativar o plug-in gratuito do WPCode em seu site. Para obter mais detalhes, consulte nosso guia passo a passo sobre como instalar um plug-in do WordPress.
Após a ativação, o plug-in adicionará um novo item de menu denominado “Code Snippets” ao menu de administração do WordPress. Ao clicar nele, você será levado a uma página em que poderá gerenciar todos os seus códigos personalizados.
Para adicionar seu primeiro trecho de código, clique no botão “Add New” (Adicionar novo).
Isso o levará à página “Add Snippet”. Aqui, você pode escolher um trecho de código da biblioteca predefinida ou adicionar seu código personalizado.
Para adicionar o código personalizado, navegue até a opção “Add Your Custom Code (New Snippet)” (Adicionar seu código personalizado (novo snippet)) e clique no botão “Use snippet” (Usar snippet).
Agora, você pode inserir um título para seu snippet de código personalizado. Pode ser qualquer coisa que ajude você a identificar o código.
Depois disso, você pode ir em frente e colar seu snippet de código na caixa de código. Você também precisa selecionar o tipo “PHP Snippet” na lista suspensa “Code Type” (Tipo de código) à direita.
Você também pode adicionar notas ao código na seção “Informações básicas”.
Você deve usar essa área para escrever o que esse código faz, onde o encontrou e por que o está adicionando ao seu site. Isso ajudará o “futuro você” a lembrar por que o “passado você” adicionou esse código.
Você também tem a opção de atribuir tags aos seus trechos de código, o que pode ajudar a organizar os trechos de código por tópico e funcionalidade.
O plug-in também permite que você selecione como deseja executar o trecho de código. Na seção “Insertion” (Inserção), você pode selecionar o método “Auto Insert” (Inserção automática) para inserir e executar automaticamente o código no seu site.
Você pode escolher entre as opções da área de administração, front-end ou em qualquer lugar. Se você não tiver certeza, mantenha a opção padrão “Run Everywhere”.
Ou você pode escolher o método “Shortcode”. Com esse método, o snippet não é inserido automaticamente. Depois de salvar o snippet, você receberá um shortcode que poderá inserir manualmente em qualquer lugar do seu site.
Você também pode usar a seção “Lógica condicional inteligente” para mostrar ou ocultar trechos inseridos automaticamente com base em um conjunto de regras.
Por exemplo, você pode carregar trechos de código somente para usuários conectados, carregar trechos de código PHP somente em URLs de páginas específicas, mostrar trechos de código com base no tipo de página e muito mais.
Por fim, você pode alternar a chave de “Inativo” para “Ativo” e, em seguida, clicar no botão “Salvar snippet”.
Se você quiser salvar o snippet de código sem ativá-lo, clique apenas no botão “Save Snippet”.
Depois de salvar e ativar um snippet de código, ele entrará em vigor automaticamente em seu site, se esse for o método de inserção escolhido.
Para obter mais detalhes, consulte nosso guia sobre como adicionar facilmente snippets de código personalizados no WordPress.
Esperamos que este artigo tenha ajudado você a saber por que e como criar um plugin WordPress específico para o site. Talvez você também queira ver nossa lista de dicas úteis sobre arquivos de funções e os hacks mais procurados do WordPress para usar melhor seu plug-in específico do site.
Se você gostou deste artigo, inscreva-se em nosso canal do YouTube para receber tutoriais em vídeo sobre o WordPress. Você também pode nos encontrar no Twitter e no Facebook.
Stephanie
I’m getting the same error as Sonya above. Does anyone have a fix?
Parse error: syntax error, unexpected T_LNUMBER in /home/statisu0/public_html/wp-content/plugins/statisticshowto-plugin/statisticshowto.com-plugin.php on line 10
WPBeginner Support
your plugin file name contains .com in it. It should be statisticshowto.php instead.
Administrador
Susan
Hi again. I’ve been reading through all of the comments above and, while some show your answer and resolution to the problem, many don’t. So it’s hard for me to learn from how others resolved their problems! Anyway, here’s what I’m wondering: if by following the instructions in this post to create a folder within my “plugins” folder, how will I be able to see my new site-specific plugin file?
For example, I followed the instructions to create a folder called susansinthegarden-plugin. Then I put my plugin code in a file called susansinthegarden-plugin.php. I can’t see the plugin when I go to plugins on my dashboard.
Is this because the new plugin text file exists in a sub-folder under “plugins”? I can’t figure out what I’m missing but really need to resolve this. Is there anyone out there who can help me? Thanks so much!
WPBeginner Support
No. Please make sure that your plugin’s header area is properly formatted.
Administrador
emy
Hi,
What is a plugin header and how do I format it?
WPBeginner Support
Hey Emy,
The plugin header is the part that tells WordPress that this file should be treated as a plugin. It also tells WordPress the name of the plugin, version, and other information.
In the code shown above, the header part begins right after the first line and ends at line 5. It contains plugin’s title and description.
Susan
OK, I resolved my program. Not being a code-writer, I didn’t realize that there was a separate header to wrap around the code I was borrowing. Duh. Thanks for your help.
Susan
I followed your instructions to create a folder under wp-content/plugins etc. and put the file containing the code into that folder but I can’t see my new plugin when I go to my dashboard and look under plugins. Did I miss a step? Thanks in advance for your help!
Edgar Ramirez
Hello
I created the directory and the php file but i cannot see the plugin at all
/wp-content/plugins/yoursitename-plugin/
Open a blank file and save it as “yoursitename-plugin.php”
dont see it on the dashboard plugin list and neither in the Plugin>editor
Can you please help me
Sonia Lacasse
Never mind! Looks like I found the problem. Thanks for your awesome work!
Sonia Lacasse
When I try to activate the plugin, I get the following error message:
Plugin could not be activated because it triggered a fatal error.
Parse error: syntax error, unexpected ’06’ (T_LNUMBER) in /var/www/domain/wp-content/plugins/ETK-PLUGIN/ETK-PLUGIN.php on line 10
Can you please help?
Thanks!
Catherine Argyros
hi there, when i put this in the directory
I received this error message
The plugin generated 2 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.
but my plug in is activated….. please help me understand what is going on?
thank you
WPBeginner Support
Most probable cause for this error could be an empty space after the last ?> closing tag.
Administrador
error message
wonderful, thats exactly what the problem was. Thank you for helping me create my first plugin!
WPBeginner Support
Glad to help
xin a day
“All you have to do is create a new folder in the plugins directory. Example: /wp-content/plugins/yoursitename-plugin/
Open a blank file and save it as “yoursitename-plugin.php”
Put the following code in the file:”
i hv few question on these .
1. i can’t create a folder onthe plugin directory.
2. where to open a blank file ?
3. the plugin diretory cant install that file.
thank you
Sacha
Awesome idea! I’ve always found functions.php a pain, so this method works great!
Alan Shapiro
This is a really useful post–thank you! Perhaps someone else asked this and I just missed it in all the comments, but: will a site-specific plugin override a function that is in the theme’s functions.php? For instance, if there is a “remove_action” in the functions.php, will the same “add_action” in the plugin take precedence?
WPBeginner Support
Both functions.php file and site-specific plugin are treated as plugins. Functions.php file loads after plugins but they do not have precedence over eachother. This is why using the same function in both files can cause unexpected results. The best way to override pluggable code is by using hooks and filters.
Administrador
Robert Masters
I’m building a plugin at the moment for a multisite network and I need certain functionality available only in specific sites, so this is a perfect article for me right now.
I have one question though…..how do I name the site plugin folder for a site that is created as a subdomain? Example: subdomain.mainsite.com would it be subdomain-mainsite-plugin or just subdomain-plugin?
Hope this makes sense, question based on your tutorial.
hans
very good. when you create a second instance don’t forget do give the “register and load” function an own name, like i did
Eric Ellis
That’s great. I always figured it was pretty simple. Thank you for the information.
Jide
Nice one there. Kindly update the post to inform readers that after activating the plugin, they will have to click on the “edit” link on the plugins page, to add their codes.
Most newbies might not know this…
WPBeginner Support
Actually we do not recommend editing plugins and themes from WordPress admin area. Instead, we would recommend editing your plugins in a text editor via FTP client. This way in case of an error you would be able to quickly fix it without losing access to admin area for too long.
Administrador
Mark Holland
Thank you thank you thank you!! This has solved an issue that’s been puzzling me for weeks – and now solved in less than 1 minute.
Can’t express how grateful I am for you sharing your knowledge – thanks again!
Luca
Thank you for the advice! But now I’m confused: what’s the difference between this method and the plugin “Code Snippet”? Is the result the same? Or do they accomplish the same thing in a different way?
Malcolm
Three years later this post is still giving – It’s changed the way I think about customising wordpress – Thank you!
I tried this today and created a a site-specific-plugin with code to hide the wordpress menu bar for non-admins, and to add my latest post to a ‘Current issue’ menu item. Both worked perfectly.
But the third snippet I added to the plugin failed to work. When I copied the code to the child theme’s functions.php it worked as expected.
Can you explain why this would happen?
I’m trying to modify the effect of the plugin “Restricted Site Access” by allowing access to more than a single page. The code I tried in my site specific plugin and the functions.php was:
//
add_filter( ‘restricted_site_access_is_restricted’, ‘my_restricted_check’ );
function my_restricted_check( $is_restricted ) {
global $wp;
if (
$wp->query_vars[‘pagename’] == ‘contact’ ||
$wp->query_vars[‘pagename’] == ‘subscribe’ ||
$wp->query_vars[‘name’] == ‘aplr-2013-volume-21-number-2’
)
$is_restricted = false;
return $is_restricted;
}
Any advice or comment would be welcome. I’m confused!
harklord
after trying this. My site is opening blank… Please help.. Av tried deleting the files i created but still blank
WPBeginner Staff
Make sure that your stored the plugin’s php file in /wp-content/plugins/ folder and not in your theme directory.
Mohammed Amine
Fixed, actually it is necessary to add that php comment in the php file, or else it wont appear on the admin panel.
That php comment is used to show the discription of the plugin in the admin panel.
Paolo Bergomi
Hello,
This is Paolo, i am building my website and theme with WP last edition 4.1.1.
i Am trying to learn custom type fields and I found your website very useful. i hav ea issue, though: even if following this post i created the folder my theme plugin and with the related file .php you mentioned here, for the site specific plugin, copy all in localhost using WAMP server. i opened then my dashboard, went to plugins but my new plugin dont appear. what is going on? did i miss anything? thanks
paolo
WPBeginner Staff
You can try and fit your modifications in site-specific plugin by using filters. However, since you had to edit specific files we doubt that all your edits can be implemented in a site-specific plugin using filters. In that case you should make those changes into a child theme. All your custom CSS should also go into your child theme’s stylesheet. You can also use your site-specific plugin to enqueue a custom stylesheet.
Bas van der Linden
Hmm, looks like my last post went missing while registering for this annoying disqus plugin.
Anyways:
At first I’d like to thank you for sharing this information.
Secondly I do have several questions regarding this post.
1) Is it possible to also make site specific plugins for other .php’s where I’ve added some codes?
Such as front-page.php post-page.php and post-archives.php
2) Is it possible to do something like this for .css codes?
I run genesis as framework(Parent theme) and a child-theme that I’ve downloaded.
Now since there are no grand-child theme’s in wordpress I’ve made my alterations in the child-theme’s folder
This includes a lot of different .css edits, Is there a way to make site specific .css files/plugins like this, so I can maintain the origional child-theme (and perform an update if any updates are released)?
3) When I create a site-specific plugin to change the footer and activate it, I will see both the origional footer and my own footer on the site.
Is there a way to go around this?
My plugin looks like this:
Once again thank you for sharing this information on site-specific plugins, and I hope to hear soon from you guys.
Chelsey
Thank you for your patience… I’m still trying to figure out how to ‘create a new folder to plugins directory’
Rodney Lacambra
Hi Chelsey. Consider this guide:
Go to “File Manager”. It will take you to “/public_html” directory. Click on “wp-content >> plugins” . This is where you will “create” a folder called “yoursitename-plugin”. After that, create a file using some text editor(notepad++), paste the code given above and save the file as “yoursitename-plugin.php”. Upload it to “yoursitename-plugin” folder and activate it in your wordpress admin area. Easy as that!
Hope it helps you a lot.
Regards,
NomadTech
Benjamin Mukasa
This is a great post. I followed the instructions but the plugin is not appearing in my plugin list.
Paolo Bergomi
me same..where did we make wrong? thanks in advance for any tips to solve this
WPBeginner Staff
yes you can use it for multiple functions.
WPBeginner Staff
Your code seems to be correct. Here is what you can do:
Make sure you have saved the plugin file in the /wp-content/plugins/ directory.
Make sure that your plugin file name is correct. We recommend using yoursitename.php format. For example if your domain name is black-circles then your plugin file name should be black-circles.php
SteveMTNO
I originally had the plugin file (bc-plugin.php) in its own directory called blackcircles/wp-content/plugins/bc-plugins. That didn’t work.
Then I tried moving the bc-plugin.php file from that folder to the blackcircles/wp-content/plugins folder. Still doesn’t show up in my admin panel.
Do I have to “enable” it first before it shows up or something?
Confused….
WPBeginner Staff
If the file is correctly placed in your plugins folder then you will see it in your WordPress admin area under Plugins. If you see your plugin there, then you will have to click on the activate link below the file to activate the plugin.
Did you try renaming the file to something else?
SteveMTNO
Tried renaming it 3 times – none of them show up….
I must be doing something wrong (or not doing something that I should be doing)…
SteveMTNO
So can I use this one site-specific plugin for multiple functions, or is it best to do something similar to this for each one?
Michael Cuomo
I’m having a similar issue with mine. I’ve created a site specific plugin to create a custom content type, but the custom content type is not showing up in my admin panel underneath pages like it should.
SteveMTNO
I posted this yesterday, but it seems to have vanished…
Anyway, I followed the instructions above, but can’t see the site-specific plugin in my admin panel.
Here’s a link to my code:
http://pastebin.com/fbeGr8gh
SteveMTNO
I followed all of the instructions above, but my plugin doesn’t appear in my admin panel.
Here’s my pastebin link:
http://pastebin.com/fbeGr8gh
Thanks!
SteveMTNO
WPBeginner Staff
There were spaces in your PHP opening and close tags
is the closing tag there is no space between them. See the corrected version here and compare it with your code. Hope this helps
http://pastebin.com/JJ7WfpUR
UgochukwuEmmanuelAgbams
i got this message while trying to install it.
The package could not be installed. No valid plugins were found.
WPBeginner Staff
This usually happens when your plugin’s header is not valid. Please paste your code in pastebin.org and paste the link in a comment.
UgochukwuEmmanuelAgbams
thank you for your response. here is the link of the code on pastebin http://pastebin.com/vksUVmCa
Rajesh Ghadge
Very useful aticle it can help any novice in the designing field thanks a million
Joe Librizzi
This is a fantastic post, thanks! Quick question – could this same method be used to modify an existing plugin, sort of like you can use a child theme to modify existing CSS? I know you can modify a plugin directly, but I’m trying to avoid losing the modifications when the plugin is updated.
WPBeginner Support
Joe, yes this can be used to modify plugins. Another way to modify plugins safely is by changing their header information. You can use the header shown in the above code as an starting point.
Administrador
Correen
Successful! Thanks for showing me how to get this accomplished.
Chris
I am new at this and learning as I go but I am confused as in the instructions both the singular and plural version of plugin was used. Am I to create one plugin file to put all snippets into or seperate plugins for each code/snippet/task?
For example – I found this article by gooling for how to create more than one custom post type. Would I put each custom post type into a seperate plugin?
Or could the code for custom post type go into the same plugin file as theme support for post thumbnails as I have it currently in my functions.php?
WPBeginner Support
The code for all your custom post types can go in one plugin.
Administrador
Shemul
what about custom.css? can we made something like this. it is good to have child theme then.
WPBeginner Support
A child theme is always recommended but there is a fine line as to how much functionality themes should have and what functionality should fall under plugin domain.
Administrador
Sussie T
Great article. I did this, and it was very easy. But now I am taking this further and made another file to my plugin for the site specific widgets. My first widget.
Have fully created 2 widgets, but only the last one is showing in admin. I guess is something with hooks or register_widget, but i cant crack this one.
Seams like an easy error to solve, if you got the experience. But for a beginner Google is not helping at all.
Resume of my widget file:
widget script
widget script
a function witch registers my 2 widgets
Outside this function is add_action(widgets_init, name of above function)
Please help
paul
so when i read
Paste this code in your theme’s functions.php file or your site-specific plugin
i just create this site-specific plugin and add code to this rather than my functions.php
Duy Dang
Thank you so much, it’s very useful!
Junior Godoi
And what about mu-plugins folder?
Max
Your site is god sent! I’ve literally been going through each of your tutorials, making a list of all the one’s I’m going to be implementing on my new site I’m developing. Some things you have covered, I would of never even have thought about, but now I am definitely dong them. Thanks for all the information you provide with your blog.
Editorial Staff
Thanks a lot for the kind words Max. Let us know if you have any questions or suggestions by using our contact form.
Administrador
Hamza Aid
I’m managing a heavy loaded WP portal, and I found many problem when performing modifications because the developer made the same mistake, and put all the code (functions, etc..) in functions.php
Now, I re-designed the portal, and separated many functions to site specific plugins. Thanks for this great post
Mattia Frigeri
It must be said.
This is a superlative post.
Greg
I am not sure what it is I am doing wrong. I have done exactly as you have said and I can not get it to show in my WordPress Plugins.
I have FTP’s it in, zipped it and tried to upload it via the admin and activating it (wp actually recognized it, and when I clicked the “Activate” link …. nada. It is like it was never there and when I FTP’d back in, it wasn’t there either.
So I am trying Brent Logan’s plugin he mentioned (Code Snippets).
Hopefully I’ll have better luck.
I appreciate the article though. Thanks.
(I am not that new to this. I have played with Wordpress and Drupal and their plugins quite a bit. I am not sure why it is that I am having so much trouble with it.)
comment would be appreciated — and I will keep reading here as well.
Editorial Staff
That is actually very weird. Even when you FTP this, the file goes away from the folder?
Administrador
Billy Patton
…I tried to keep this method a secret. hahaha
Brent Logan
I was doing this until I found the Code Snippets plugin. This plugin makes it easy to add multiple snippets, with a place for easy descriptions, and then activate or deactivate the snippets individually. Quite slick.
b.nijhoff
I always thought it was really hard but after seeing this I now know I could do it to. Thanks for sharing this, all your articles have been really helpful so far. Keep on the good work!
ericsavina
What I don’t get is that I keep reading everywhere that I should modify the functions.php instead of adding plugins. It is supposed to make the site faster. So, who should I trust? The idea of having a separate file for a the changes I’m making to the funtions.php file seems very interesting. At least, I would be able to easily update my theme without having to check every time the customs changes I made.
CreativeBoulder
@ericsavina From what I have been gathering, and I’ve been doing this for a good while, is that the speed and performance using a ton of PHP in your functions.php versus additional plugins that use the same code– I was not able to find much of a difference in speed. Now, anybody correct me if I am wrong and if anybody has different performance comparisons.
At this point, I’m using my functions.php file as I outlined to keep my functions organized along with a few custom plugins that I have designed with multi-site purpose. Hope that all makes sense.
ericsavina
@CreativeBoulder Thanks for your answer. I will create this plugin and check if there are any differences in loading time.
CreativeBoulder
@ericsavina Not a problem. Please let me know if you find out some different results than I did? Google Chromes Web Developer Tools have been more than helpful in performance and load-time and same with http://loads.in/.
CreativeBoulder
I fully understand the reasoning behind this setup. I really like the concept. When Wordpress Upgrades, then you might need to upgrade some of your functions instead of having to navigate a possibly unorganized file structure. I was thinking about this about a week ago when working on a client site and did this with my functions.php:
<?php
// Require Administrator Functions/Classes
require_once(“lib/php-classes/wp-admin-functions.php”);
// require Custom WP Plugins (By BusinessName)
require_once(“lib/php-classes/wp-general-functionality.php”);
require_once(“lib/php-classes/wp-register-sidebars.php”);
require_once(“lib/php-classes/wp-register-menus.php”);
require_once(“lib/php-classes/wp-register-customposts.php”);
require_once(“lib/php-classes/wp-load-jslibs.php”);
require_once(“lib/php-classes/wp-breadcrumbs.php”);
require_once(“lib/php-classes/wp-shortcodes.php”);
?>
Which allowed me to basically work on certain aspects and know where certain custom widgets or shortcodes were instead of a huge functions.php file. What do you think? Which method works better for you?
affanruslan
@CreativeBoulder No, this function.php file is within your theme file, not the core wordpress file
CreativeBoulder
@affanruslan I fully understand what the concept here is. Thanks for the reply. The goal of creating a Site Specific Plugin is to keep your functions, widgets, short-codes (etc) separate so that they are easier to work with and more organized. My concept of using your Theme Specific functions.php and “modularizing” it into separate files is just as easy to stay organized. That’s what I was getting at. I appreciated this post. =)
tomdana
At first I was confused on what this Post was about. Once I read it I realized the usefulness of doing exactly what you suggest. I named my plugin “site-specific-functions”. Thanks for the information and all you do.
tomdana
At first I was confused on what this Post was about. Once I read it I realized the usefulness of doing exactly what you suggest. I named my plugin “site-specific-functions”. Thanks for the information and all you do.
fergusonsarah
It’s really great to read such a valuable blog post here, thanks for sharing.