register_block void register_block string name mixed impl bool cacheable array or null cache_attrs Use this to dynamically register block functions plugins. Pass in the block function name, followed by the PHP function callback that implements it. The php-function callback impl can be either (a) a string containing the function name or (b) an array of the form array(&$object, $method) with &$object being a reference to an object and $method being a string containing the mehod-name or (c) an array of the form array(&$class, $method) with $class being a classname and $method being a class method of that class. $cacheable and $cache_attrs can be omitted in most cases. See Controlling Cacheability of Plugins' Output on how to use them properly. register_block register_block("translate", "do_translation"); function do_translation ($params, $content, &$smarty, &$repeat) { if (isset($content)) { $lang = $params['lang']; // do some translation with $content return $translation; } } ?> {* template *} {translate lang="br"} Hello, world! {/translate} ]]>