Ошибка в сохранении уникального буквенно-цифрового идентификатора для каждого сообщения в WordPress - PullRequest
0 голосов
/ 27 ноября 2018

Я хочу назначить уникальную буквенно-цифровую строку длиной 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');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...