Codex

Interested in functions, hooks, classes, or methods? Check out the new WordPress Code Reference!

Difference between revisions of "Functions File Explained"

m (Reverted edits by Jagp (talk) to last revision by Jdgrimes)
m (Plurality typo)
 
(4 intermediate revisions by 3 users not shown)
Line 1: Line 1:
  +
{{Languages|
  +
{{en|Functions File Explained}}
  +
{{ja|Functions File Explained}}
  +
}}
  +
 
One way to change the default behaviors of WordPress is using a file named <tt>functions.php</tt>. It goes in your [[Using Themes|Theme's]] folder.
 
One way to change the default behaviors of WordPress is using a file named <tt>functions.php</tt>. It goes in your [[Using Themes|Theme's]] folder.
   
The functions file behaves like a [[Plugins|WordPress Plugin]], adding features and functionality to a WordPress site. You can use it to call functions, both PHP and built-in WordPress, and to define your own functions. You can produce the same results by adding code to a WordPress Plugin or through the WordPress Theme functions file.
+
The functions file behaves like a [[Plugins|WordPress Plugin]], adding features and functionality to a WordPress site through PHP code. You can use it to call native PHP functions, WordPress functions, or to define your own functions.
   
  +
Alternatively, you can place your custom PHP code into your own WordPress Plugin, or simply use a "functionality" plugin such as the [https://wordpress.org/plugins/code-snippets/ Code Snippets] plugin to manage your custom PHP snippets.
There are differences between the two.
 
  +
 
There are differences between using a plugin and a functions.php file.
   
 
A WordPress Plugin:
 
A WordPress Plugin:
   
 
* Executes only when individually activated via the Plugins panel.
* Requires specific, unique Header text.
 
* Is stored in <tt>wp-content/plugins</tt>, usually in a subdirectory.
 
* Executes only when individually activated, via the Plugins panel.
 
 
* Applies to all themes.
 
* Applies to all themes.
 
* Requires specific unique Header text.
* Should have a single purpose, e.g., convert posts to Pages, offer search engine optimization features, or help with backups.
 
 
* Is stored in <tt>wp-content/plugins</tt>, usually in a subdirectory.
   
 
A functions file:
 
A functions file:
   
 
* Executes only when in the currently activated theme's directory.
 
* Applies only to that theme. If the Theme is changed, the functionality is unused.
 
* Requires no unique Header text.
 
* Requires no unique Header text.
 
* Is stored with each Theme in the Theme's subdirectory in <tt>wp-content/themes</tt>.
 
* Is stored with each Theme in the Theme's subdirectory in <tt>wp-content/themes</tt>.
* Executes only when in the currently activated theme's directory.
 
* Applies only to that theme. If the Theme is changed, the functionality is lost.
 
* Can have numerous blocks of code used for many different purposes.
 
   
 
Each theme has its own functions file, but only the <tt>functions.php</tt> in the active Theme affects how your site publicly displays. If your theme already has a functions file, you can add code to it. If not, you can create a plain-text file named <tt>functions.php</tt> to add to your theme's directory.
 
Each theme has its own functions file, but only the <tt>functions.php</tt> in the active Theme affects how your site publicly displays. If your theme already has a functions file, you can add code to it. If not, you can create a plain-text file named <tt>functions.php</tt> to add to your theme's directory.
Line 37: Line 42:
 
== Resources ==
 
== Resources ==
   
  +
* [https://wordpress.org/plugins/code-snippets/ The Code Snippets functionality plugin]
* Functions File not dependent on Theme: [http://justintadlock.com/archives/2011/02/02/creating-a-custom-functions-plugin-for-end-users Creating a custom functions plugin]
 
  +
* [https://css-tricks.com/wordpress-functionality-plugins/ WordPress functionality plugins explained]
 
* [http://justintadlock.com/archives/2011/02/02/creating-a-custom-functions-plugin-for-end-users Creating a custom functions plugin] (quick tutorial)
  +
* [https://www.smashingmagazine.com/2011/09/how-to-create-a-wordpress-plugin/ Creating a WordPress plugin] (in-depth guide, examples)
  +
* Order of execution of Functions file: [http://wordpress.stackexchange.com/questions/26537/between-functions-php-widgets-and-plugins-which-is-loaded-first Between functions.php, widgets and plugins, which is loaded first?]
   
   

Latest revision as of 22:41, 14 March 2018

One way to change the default behaviors of WordPress is using a file named functions.php. It goes in your Theme's folder.

The functions file behaves like a WordPress Plugin, adding features and functionality to a WordPress site through PHP code. You can use it to call native PHP functions, WordPress functions, or to define your own functions.

Alternatively, you can place your custom PHP code into your own WordPress Plugin, or simply use a "functionality" plugin such as the Code Snippets plugin to manage your custom PHP snippets.

There are differences between using a plugin and a functions.php file.

A WordPress Plugin:

  • Executes only when individually activated via the Plugins panel.
  • Applies to all themes.
  • Requires specific unique Header text.
  • Is stored in wp-content/plugins, usually in a subdirectory.

A functions file:

  • Executes only when in the currently activated theme's directory.
  • Applies only to that theme. If the Theme is changed, the functionality is unused.
  • Requires no unique Header text.
  • Is stored with each Theme in the Theme's subdirectory in wp-content/themes.

Each theme has its own functions file, but only the functions.php in the active Theme affects how your site publicly displays. If your theme already has a functions file, you can add code to it. If not, you can create a plain-text file named functions.php to add to your theme's directory.

A Child Theme can have its own functions.php. This child functions file can be used to augment or replace the parent theme's functions.

With a functions file you can:

Beware: if a WordPress Plugin calls the same function, or filter, as you do in your functions file, the results can be unexpected -- even site-disabling.

Search the web for "WordPress functions.php" to find suggestions to enhance the functionality of your WordPress site.

Resources