WordPress.org

Codex

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

Function Reference/submit button

Description

Echos a submit button, with provided text and appropriate class.

Note: This function is only available from the administration panels. It cannot be used on the front end of the site.

Usage

<?php submit_button$text$type$name$wrap$other_attributes ); ?>

Parameters

$text
(string) (optional) The text of the button
Default: Save Changes
$type
(string|array) (optional) The type of button. Common values: primary, secondary, delete.
Default: primary
Note: $type can be a single value, or a space separated list of values, or an array of values. The values determine the HTML classes of the button.
  • If $type is 'delete', the classes are 'button-secondary delete'.
  • Otherwise the first class is 'button', followed by any of these in order of appearance:
    • type value 'primary' makes class 'button-primary'
    • type value 'small' makes class 'button-small'
    • type value 'large' makes class 'button-large'
    • type value 'secondary' or 'button-secondary' is ignored (the 'button' class has the styling)
    • any other type value 'foo' makes the class 'foo'
For example, the default $type 'primary' results in a button with HTML classes 'button button-primary'.
$name
(string) (optional) The HTML name of the submit button. If no id attribute is given in $other_attributes below, $name will be used as the button's id.
Default: submit
$wrap
(boolean) (optional) True if the output button should be wrapped in a paragraph tag, false otherwise. Defaults to true
Default: true
$other_attributes
(array|string) (optional) Other attributes that should be output with the button, mapping attributes to their values, such as array( 'tabindex' => '1' ).
Default: NULL

Return Values

This function does not return a value. The HTML for the button is output directly to the browser.

Examples

Default Usage

submit_button();

This will output the following HTML, which will display a button with the text, "Save Changes".

<p class="submit"><input type="submit" name="submit" id="submit" class="button button-primary" value="Save Changes"  /></p>

Using Custom Text

To output a button with custom text, use the first parameter like this:

submit_button( 'Submit' );

Display a Secondary Button

WordPress styles secondary and primary buttons differently. Primary buttons are blue, and stand out more than secondary buttons, which are grey. By default, submit_button() outputs a primary button. To display a secondary button instead, set the $type parameter to 'secondary':

submit_button( 'Reset', 'secondary' );

Display a Delete Button

By default, WordPress doesn't currently appear to have custom styling for delete buttons, but it does give them the 'delete' HTML class. However, it's possible that could change in the future, so it's a good idea to specify the $type as 'delete' when displaying a delete button:

submit_button( 'Delete', 'delete' );

By default, delete buttons will be displayed as secondary buttons, not primary. If you want to display it as a primary button, you can do it like this:

submit_button( 'Delete', 'delete button-primary' );

Using the $name Parameter

The $name parameter may be used if you want to set the HTML name attribute for the button. By default, this will be 'submit'.

submit_button( 'Save Settings', 'primary', 'wpdocs-save-settings' );

By default, the $name is also used to fill out the button's id attribute. To change this, you can pass an id via the $other_attributes parameter:

$other_attributes = array( 'id' => 'wpdocs-button-id' );

submit_button( 'Save Settings', 'primary', 'wpdocs-save-settings', true, $other_attributes );

Using the $wrap Parameter

The $wrap parameter controls whether the button is wrapped in a paragraph tag, which it is by default. This can be a help or a hindrance depending on where an how you wish to display the button. To turn this behavior off, pass false for the fourth parameter:

submit_button( 'Submit', 'primary', 'submit-form', false );

Specifying Other HTML Attributes

You can add any HTML attributes you chose to your button using the $other_attributes parameter. For example:

$other_attributes = array( 'tabindex' => '1' );

submit_button( 'Go!', 'secondary', '', true, $other_attributes );

Notes

  • Uses the related function get_submit_button(), which returns the button as a string instead of echoing it. It has a different default $type, 'primary large', resulting in the HTML classes 'button button-primary button-large'.
  • This function cannot be used on the front end of the site, it is only available when loading the administration panels.

Change Log

Since: 3.1

Source File

submit_button() is located in /wp-admin/includes/template.php.

Related

get_submit_button()

See also index of Function Reference and index of Template Tags.