wppaste
WordPress

WP_Application_Passwords_List_Table::print_js_template_row()

Since
5.6.0
Source
wp-admin/includes/class-wp-application-passwords-list-table.php:200
Prints the JavaScript template for the new row item.

Hooks fired · 1

One hook fires while WP_Application_Passwords_List_Table::print_js_template_row() runs, in this order:

  1. do_action( manage_{$this->screen->id}_custom_column_js_template )actionline 251 (+51 into the body)

    Fires in the JavaScript row template for each custom column in the Application Passwords list table.

Uses · 7

  • esc_attr()Escaping for HTML attributes.
  • wp_strip_all_tags()Properly strips all HTML tags including 'script' and 'style'.
  • wp_json_encode()Encodes a variable into JSON, with some confidence checks.
  • __()Retrieves the translation of $text.
  • esc_html__()Retrieves the translation of $text and escapes it for safe use in HTML output.
  • do_action()Calls the callback functions that have been added to an action hook.
  • WP_Application_Passwords_List_Table::get_column_info()

Source

	public function print_js_template_row() {		list( $columns, $hidden, , $primary ) = $this->get_column_info(); 		echo '<tr data-uuid="{{ data.uuid }}">'; 		foreach ( $columns as $column_name => $display_name ) {			$is_primary = $primary === $column_name;			$classes    = "{$column_name} column-{$column_name}"; 			if ( $is_primary ) {				$classes .= ' has-row-actions column-primary';			} 			if ( in_array( $column_name, $hidden, true ) ) {				$classes .= ' hidden';			} 			printf( '<td class="%s" data-colname="%s">', esc_attr( $classes ), esc_attr( wp_strip_all_tags( $display_name ) ) ); 			switch ( $column_name ) {				case 'name':					echo '{{ data.name }}';					break;				case 'created':					// JSON encoding automatically doubles backslashes to ensure they don't get lost when printing the inline JS.					echo '<# print( wp.date.dateI18n( ' . wp_json_encode( __( 'F j, Y' ) ) . ', data.created ) ) #>';					break;				case 'last_used':					echo '<# print( data.last_used !== null ? wp.date.dateI18n( ' . wp_json_encode( __( 'F j, Y' ) ) . ", data.last_used ) : '—' ) #>";					break;				case 'last_ip':					echo "{{ data.last_ip || '—' }}";					break;				case 'revoke':					printf(						'<button type="button" class="button delete" aria-label="%1$s">%2$s</button>',						/* translators: %s: the application password's given name. */						esc_attr( sprintf( __( 'Revoke "%s"' ), '{{ data.name }}' ) ),						esc_html__( 'Revoke' )					);					break;				default:					/**					 * Fires in the JavaScript row template for each custom column in the Application Passwords list table.					 *					 * Custom columns are registered using the {@see 'manage_application-passwords-user_columns'} filter.					 *					 * @since 5.6.0					 *					 * @param string $column_name Name of the custom column.					 */					do_action( "manage_{$this->screen->id}_custom_column_js_template", $column_name );					break;			} 			if ( $is_primary ) {				echo '<button type="button" class="toggle-row"><span class="screen-reader-text">' .					/* translators: Hidden accessibility text. */					__( 'Show more details' ) .				'</span></button>';			} 			echo '</td>';		} 		echo '</tr>';	}

History

Introduced in 5.6.0. Unchanged from 6.7.7 through 7.1.0.

  1. 6.7.7
  2. 6.8.8
  3. 6.9.7
  4. 7.0.4
  5. 7.1.0

Signature, return type and hooks compared across 5 parsed releases.

About this page

Parsed data
Generated from the wordpress-develop 7.1.0 tag, from src/wp-admin/includes/class-wp-application-passwords-list-table.php, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it.
Corrections
Something wrong on this page? Report it and it gets fixed in the next regeneration.