WordPress Version: 6.2
/**
* Outputs a single row of public meta data in the Custom Fields meta box.
*
* @since 2.5.0
*
* @param array $entry An array of meta data keyed on 'meta_key' and 'meta_value'.
* @param int $count Reference to the row number.
* @return string A single row of public meta data.
*/
function _list_meta_row($entry, &$count)
{
static $update_nonce = '';
if (is_protected_meta($entry['meta_key'], 'post')) {
return '';
}
if (!$update_nonce) {
$update_nonce = wp_create_nonce('add-meta');
}
$r = '';
++$count;
if (is_serialized($entry['meta_value'])) {
if (is_serialized_string($entry['meta_value'])) {
// This is a serialized string, so we should display it.
$entry['meta_value'] = maybe_unserialize($entry['meta_value']);
} else {
// This is a serialized array/object so we should NOT display it.
--$count;
return '';
}
}
$entry['meta_key'] = esc_attr($entry['meta_key']);
$entry['meta_value'] = esc_textarea($entry['meta_value']);
// Using a <textarea />.
$entry['meta_id'] = (int) $entry['meta_id'];
$delete_nonce = wp_create_nonce('delete-meta_' . $entry['meta_id']);
$r .= "\n\t<tr id='meta-{$entry['meta_id']}'>";
$r .= "\n\t\t<td class='left'><label class='screen-reader-text' for='meta-{$entry['meta_id']}-key'>" . __('Key') . "</label><input name='meta[{$entry['meta_id']}][key]' id='meta-{$entry['meta_id']}-key' type='text' size='20' value='{$entry['meta_key']}' />";
$r .= "\n\t\t<div class='submit'>";
$r .= get_submit_button(__('Delete'), 'deletemeta small', "deletemeta[{$entry['meta_id']}]", false, array('data-wp-lists' => "delete:the-list:meta-{$entry['meta_id']}::_ajax_nonce={$delete_nonce}"));
$r .= "\n\t\t";
$r .= get_submit_button(__('Update'), 'updatemeta small', "meta-{$entry['meta_id']}-submit", false, array('data-wp-lists' => "add:the-list:meta-{$entry['meta_id']}::_ajax_nonce-add-meta={$update_nonce}"));
$r .= '</div>';
$r .= wp_nonce_field('change-meta', '_ajax_nonce', false, false);
$r .= '</td>';
$r .= "\n\t\t<td><label class='screen-reader-text' for='meta-{$entry['meta_id']}-value'>" . __('Value') . "</label><textarea name='meta[{$entry['meta_id']}][value]' id='meta-{$entry['meta_id']}-value' rows='2' cols='30'>{$entry['meta_value']}</textarea></td>\n\t</tr>";
return $r;
}