Есть пользовательский тип постов с идентификатором doc. Надо сделать добавляющийся автоматом при сохранении такого поста уникальный номер в поле title перед самим названием.
Пытаюсь сделать так:
Создал страницу id = 100 с контентом в виде числа, первоначальное значение "1". И при wp_insert_post_data считываю из нее контент, увеличиваю, записываю обратно, добавляю в название.
Это как я думаю оно должно работать. )На деле при добавлении кода в functions.php при попытке создать doc номер в странице не меняется, тайтл у нового поста не меняется.
add_filter('wp_insert_post_data', 'add_doc_num', 10, 2);
function add_doc_num($data, $postarr) {
if ($data['post_type'] == 'doc' && $data['post_status'] != 'publish') {
$source_post_id = 100;
$source_post = get_post($source_post_id);
$current_content = $source_post->post_content;
$current_number = intval($current_content);
$new_number = $current_number + 1;
$updated_content = strval($new_number);
$source_post->post_content = $updated_content;
wp_update_post($source_post);
// Обновляем заголовок создаваемого поста
$data['post_title'] = $updated_content . ' ' . $data['post_title'];
}
return $data;
}
Где проблема, подскажите, пжлст.