@Azat2015

Как сделать автоинкрементный счетчик пользовательских типов постов в Wordpress?

Есть пользовательский тип постов с идентификатором 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;
}

Где проблема, подскажите, пжлст.
  • Вопрос задан
  • 48 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы