HomeEducationUnderstanding and Working With the WordPress Choices Desk | Envato Tuts+ Receive...

Understanding and Working With the WordPress Choices Desk | Envato Tuts+ Receive US

Within the earlier elements of this collection, we seemed on the tables within the WordPress database and the relationships between them. 

On this half I’ll cowl a desk which is completely different from the others – the wp_options desk. As you’ll be able to see from the diagram under, that is the one desk which sits by itself:

WordPress Database DiagramWordPress Database Diagram

The choices desk shops a distinct sort of information from the opposite tables: as an alternative of storing information about your website’s content material, it shops information in regards to the website itself. Information is written to the choices desk utilizing the Options API or the Settings API, each of which include a set of capabilities used so as to add, replace and delete information from this desk. 

You may add values to current choices and you may as well add new information to the desk once you need to create new choices.

 On this tutorial I’ll have a look at completely different elements of the choices desk and the way you work together with it:

  • Entry to the wp_options desk
  • Construction of the wp_options desk
  • Populating the wp_options desk
  • The Choices API
  • The Settings API

I’ll simply give an outline of the APIs and the way they work together with the choices desk – if you wish to be taught extra, learn Tom McFarlin’s collection on the Settings API. 

Entry to the wp_options Desk

Because the wp_options desk shops information which is said to the setup and administration of the location as a complete, entry to it’s restricted. To have the ability to amend settings and choices, customers might want to have the manage_options functionality. The one default person function with this functionality is the administrator function (and in Multisite, the community administrator or the tremendous admin function).

Which means if you’ll want to add choices that different person roles have entry to, you’ll must assign the manage_options functionality to them. This carries dangers, so solely do it when you’re positive!

The choices saved within the wp_options desk come from the values that you’ve got set underneath Administration > Settings contained in the WordPress admin dashboard. This consists of basic settings like the location title, tagline and so on. It additionally shops choices associated to studying, writing, feedback, media, permalinks and so on. on the web site.

WordPress Settings ScreenWordPress Settings ScreenWordPress Settings Screen

Another plugins that you’ve got put in may additionally use this desk to retailer their configuration choices.

Construction of the wp_options Desk

The choices desk has an identical construction to the three metadata tables. It has 4 fields:

  • option_ID
  • option_name
  • option_value
  • autoload – specifies whether or not the choice is routinely loaded on every web page load. This defaults to sure in a single website set up and no in Multisite.

Every file within the option_name discipline can be a novel worth. In case you add multiple worth to an possibility, WordPress shops this in an array within the option_value discipline. An excellent instance of that is the active_plugins possibility, which shops an array of plugins activated in your website.

Structure of WordPress Options TableStructure of WordPress Options TableStructure of WordPress Options Table

When including, enhancing or deleting information within the wp_options desk, you will need to all the time specify the option_name, as I’ll present later on this tutorial.

Populating the wp_options Desk

The wp_options desk is populated from considered one of three sources:

  • the default Settings screens
  • theme choices screens
  • settings and choices screens which you add by way of plugins

There are a variety of choices inbuilt to WordPress – you’ll be able to see all of those within the Option Reference. However you may as well create your personal.

To create new choices in your theme or plugin, you’ll use the Choices API or the Settings API. I’ll cowl these in additional element under.

Utilizing the Choices API

The Choices API consists of eight capabilities which let you add, get, replace or delete choices:

add_option() $possibility$worth$deprecated$autoloadSolely $possibility is required. If there’s an current file along with your $possibility parameter as the worth of its option_name discipline, WordPress will add your $worth to an array within the option_value discipline for that file, in any other case it should create a brand new file.
delete_option()$possibilityDeletes all fields for that possibility
get_option() $possibility$default $default (elective) is the default worth to return if no worth is saved in opposition to the choice within the database.
update_option() $possibility$new_value, $autoload $new_value is the worth which can populate the option_value discipline
add_site_option() $possibility$worthJust like add_option() however provides the choice network-wide in Multisite (that means that the choice is saved within the wp_options desk and never the wp_XX_options desk the place XX is the location ID). $autoload just isn’t included as website choices don’t autoload in Multisite and this can’t be overridden.
delete_site_option()$possibilityThe identical as delete_option() however works network-wide in Multisite.
get_site_option() $possibility$default , $use_cacheJust like get_option() however retrieves the network-wide possibility in Multisite.
update_site_option() $possibility$worthSimilar to update_option() however works network-wide in Multisite.

There are another vital factors price holding in thoughts once you use these capabilities:

Utilizing the add_option() operate, you’ll be able to create information with no worth within the option_value discipline. This permits website directors to populate that discipline at a later time. This operate additionally performs a test to substantiate that you simply aren’t including a protected WordPress possibility.

You can not use the delete_option() operate to take away protected WordPress choices. This operate returns true if the deletion was profitable and false in any other case.

The get_option() operate will return false if the choice just isn’t saved within the desk and also you haven’t supplied a default worth in the course of the operate name.

The update_option() name will create a brand new possibility if the one you are attempting to replace doesn’t exist already. Additionally bear in mind that you may change the autoload worth of an possibility utilizing this operate provided that you up to date the worth of the choice itself.

Utilizing the Settings API

In addition to the Choices API, you may as well use the Settings API to work together with information within the wp_options desk. The Settings API enables you to create settings which website directors can use so as to add or replace information within the choices desk. In different phrases, it provides a person interface for website directors to entry your choices.

The Settings API has extra to it than the Choices API so I received’t cowl it intimately right here, however basically it has three components:

  • the setting (the information within the wp_options desk)
  • the sector (which is used so as to add and edit information)
  • the settings part, which is a gaggle of associated fields.

The 2 capabilities within the Settings API which work together instantly with the wp_options desk are as follows:

register_setting() $option_group$option_name$argsThe $option_name parameter refers back to the option_name discipline within the wp_options desk. The opposite parameters work together with different capabilities within the Settings API
unregister_setting() $option_group$option_nameIt would de-register settings from the wp_options desk. It’s usually used with deactivation hooks for themes or plugins.

These capabilities don’t add values to the choices within the wp_options desk, however they create settings which may then have values added to them by way of different capabilities within the Settings API.

You must know that the third parameter in each register_setting() and unregister_setting() was a callback operate prior to now. Nevertheless, the third parameter in register_setting() now accepts an array of arguments whereas the third parameter in unregister_setting() is now deprecated.

The elective third parameter in register_setting() incorporates description of the setting that you simply need to register resembling the kind of information, name callback operate to sanitize the choice worth, default worth when get_option() is known as and so on.


The wp_options desk is exclusive amongst WordPress database tables in that it doesn’t share a relationship with any of the opposite tables. It’s because it shops information in regards to the website or community, and never the content material. To work together with the choices desk, you should use the capabilities within the Choices API or the Settings API, and you may as well make use of capabilities which add information network-wide in a Multisite insulation.

Within the ultimate a part of this collection I’ll have a look at Multisite, because it makes use of some extra database tables which haven’t been lined thus far on this collection, and likewise creates a number of situations of every of the core tables, one for every website.

#Understanding #Working #WordPress #Choices #Desk #Envato #Tuts

Continue to the category


Please enter your comment!
Please enter your name here

- Advertisment -spot_img

Most Popular

Recent Comments