Автоматически подставить категории в название товара, при его создании в WooCommerce
На cайте, который сейчас разрабатываю на WooCommerce, ссылки на товар отображаются следующим образом:
https://example.com/handles/roset/pasini/0031-cr-sat
Подскажите, как я могу автоматически подставить эти категории к названию продукта при его создании?
Например, если я напишу название продукта 0031 CR SAT, в результате должно получится Handles Roset Pasini 0031 CR SAT. Как это сделать?
Никак не могу найти подходящий код и ответ на свой вопрос. Даже не знаю, с чего начать, поэтому в моем вопросе нет исходного кода.
Буду рад если поможете!
Ответы (1 шт):
Автор решения: malginovdesign
→ Ссылка
Используем хук save_post_(post_type)
add_filter( 'save_post_product' , 'ruso1222520_modify_post_title' );
function ruso1222520_modify_post_title( $post_id, $post_data ) {
// Получим оригинал заголовка
$orig_title = get_post_meta( $post_id, 'original_title', 'true' );
// Формируем новый заголовок из списка категорий товара
// (список в виде ссылок, мы просто убираем html-теги)
if (isset($orig_title) && !empty($orig_title)) {
$new_title = wp_strip_all_tags(get_the_term_list( $post_id, 'product_cat', '', '', '')) . ' ' . $orig_title;
// Запишем заголовок
wp_update_post( [
'ID' => $post_id,
'post_title' => $new_title,
] );
} else {
// Запишем оригинал в мета-поле, если его нет
update_post_meta( $post_id, 'original_title', $post_data->post_title );
}
}