submit_button( string $text = null, string $type = 'primary', string $name = 'submit', bool $wrap = true, array|string $other_attributes = null )

Echoes a submit button, with provided text and appropriate class(es).


See also



(string) (Optional) The text of the button (defaults to 'Save Changes')

Default value: null


(string) (Optional) The type and CSS class(es) of the button. Core values include 'primary', 'small', and 'large'.

Default value: 'primary'


(string) (Optional) The HTML name of the submit button. Defaults to "submit". If no id attribute is given in $other_attributes below, $name will be used as the button's id.

Default value: 'submit'


(bool) (Optional) True if the output button should be wrapped in a paragraph tag, false otherwise. Defaults to true.

Default value: true


(array|string) (Optional) Other attributes that should be output with the button, mapping attributes to their values, such as setting tabindex to 1, etc. These key/value attribute pairs will be output as attribute="value", where attribute is the key. Other attributes can also be provided as a string such as 'tabindex="1"', though the array format is preferred.

Default value: null

More Information

This function cannot be used on the front end of the site, it is only available when loading the administration screens.

Parametr $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’.

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

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'.


File: wp-admin/includes/template.php

function submit_button( $text = null, $type = 'primary', $name = 'submit', $wrap = true, $other_attributes = null ) {
	echo get_submit_button( $text, $type, $name, $wrap, $other_attributes );


Version Description
3.1.0 Introduced.

© 2003–2019 WordPress Foundation
Licensed under the GNU GPLv2+ License.