Firstly, to be clear, I'm not talking about the use of underscores as for visual separation of words in function names, etc., for example from the code below, woocommerce_wp_text_input
.
In following a particular PHP WordPress WooCommerce related tutorial, I noticed the coder was randomly inserting underscores and multiple consecutive underscores, for example: _text_field
and __( 'Enter the custom value here.', 'woocommerce' )
. This is either a convention that is used in demonstration code snippets or it has some PHP meaning.
// Text Field
woocommerce_wp_text_input(
array(
'id' => '_text_field[' . $variation->ID . ']',
'label' => __( 'My Text Field', 'woocommerce' ),
'placeholder' => 'http://',
'desc_tip' => 'true',
'description' => __( 'Enter the custom value here.', 'woocommerce' ),
'value' => get_post_meta( $variation->ID, '_text_field', true )
)
);
Is there a convention regarding the use of an arbitrary number of underscores in coding demonstrations? At first I suspected he was using underscores to highlight that certain values were specific to his case, but I really don't know.
There isn't any convention.
_()
(one underscore) is an alias of the PHP function gettext()
. It is used for localization.
__()
(two underscores) is a function defined by Wordpress, also for localization. You can think at it as a more flexible version of _()
but it is available only in WP projects.