Почему не работает хук?
Это не фильтр, а экшен. Делайте echo прямо в экшене вместо return. Отличия от фильтра - в концепции, и заключаются в том, что фильтр меняет данные и возвращает их, а экшен выполняет действие и ничего не возвращает.
Либо используйте add_filter \ apply_filters, если вам необходимо вернуть значение.
Дополню ответ Алексей Николаев конкретным кодом с комментами:...
add_filter( 'ul_ol_hook', 'ul_ol_func' );<?php echo apply_filters('ul_ol_hook', $tblock_textarea); ?>
1. Ваш коллбек изменяет данные, значит это должен быть фильтр.
2. Фильтр возвращает измененные данные, а не выводит их, значит надо делать echo или выводить другим способом.