No es más complicado crear un hook en PS que un shortcode en Wordpress. En WP también tienes que "registrar" el shortcode (add_shortcode), luego programar dentro de una función lo que muestra cuando es llamado y finalmente meter la llamada al shortcode con sus parámetros dentro de tu página donde quieras que se muestre.
El concepto en realidad es el mismo: la función que genera el contenido del shortcode sería aquí el "public function hookDisplayProgressBar()" en el ejemplo que te ha puesto Gus, el registro del shortcode (add_shortcode) sería aquí el $this->registerHook('displayProgressBar'), y la llamada al shortcode dentro de tu página sería la inserción del hook dentro del TPL ({hook h="displayProgressBar"}). Como ves, en realidad no es tan diferente, al final hay que hacer las mismas 3 cosas, solo que están estructuradas de forma diferente.