Вы не сможете гарантировать, что в конце записи вам нужны именно 17 символов, вдруг у вас будет в строке 12,500. Если у вас во всех записях присутствует слово цена и вам нужно получить числа, я бы сделал следующим образом:
add_action( 'save_post', 'skill_save_post' );
if ( !function_exists( 'skill_save_post' ) ) {
function skill_save_post( $post_id ) {
//$string = get_the_content();
$string = 'Цена: от 1,100 руб.';
if ( $data = array_map( 'trim', explode( 'Цена:', $string ) ) ) {
$data = array_pop($data); // берем последний элемент массива'
$data = preg_replace('/(\D+)/', '', $data); // удаляем все НЕ числа
// пишем в мету
update_post_meta( $post_id, 'price_from', $data );
}
}
}
Берем контент, разбиваем по слову "Цена:", берем последний элемент массива, удаляем из строки все НЕ числа, пишем значение в мету на хуке save_post. Теперь вам не нужно проводить эти вычисления еще раз, а значение можно получить с помощью
get_post_meta( $post_id, 'price_from', true );