Я хочу назначить уникальную буквенно-цифровую строку длиной 6 для каждого сообщения во время создания.
Я пробовал этот код, но получал следующую ошибку при сохранении файла functions.php:
"Невозможно связаться с сайтом, чтобы проверить наличие фатальных ошибок, поэтому изменение PHP было отменено. Вам нужно будет загрузить изменение файла PHP другими способами, например, с помощью SFTP."
function generateRandomAlphaNumString($length)
{
$alphaNumCharSet = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
for($i=0; $i<$length; $i++)
{
$key .= $alphaNumCharSet[(mt_rand(0,(strlen($alphaNumCharSet)-1)))];
}
return $key;
}
function add_alphaNumPostId_custom_field($post_id)
{
$is_not_unique = true;
$alphaNumPostIdKey = 'alphaNumPostId';
while($is_not_unique) {
$alphaNumPostId = generateRandomAlphaNumString(6);
$is_not_unique = count(get_posts(array("posts_per_page"=1,"meta_query"=array("key"=$alphaNumPostIdKey,"value"=>$alphaNumPostId))))>0;
}
add_post_meta($post_id, 'alphaNumPostId', $alphaNumPostId, true);
return true;
}
add_action('wp_insert_post', 'add_alphaNumPostId_custom_field');