当打包为AlexaCRM Wordpress插件的一部分时,如何向Twig添加功能

时间:2018-07-13 19:34:57

标签: php wordpress twig dynamics-crm alexacrm-toolkit

我正在尝试将功能添加到Twig模板语言中,该功能打包为AlexaCRM Wordpress插件“集成动力学”的一部分。

浏览了插件代码后,我认为我需要使用“ wordpresscrm_after_twig_ready”钩子来挂起函数定义。但是,Twig似乎忽略了我的功能(当我尝试使用该功能时出现错误)。

有人可以指出正确的方向来找出我做错了什么吗?我对Wordpress非常方便,但是对Twig来说我是新手。我认为这是定义函数的正确方法,但如有必要,我愿意尝试其他方法。谢谢!

挂钩看起来像这样:

do_action( 'wordpresscrm_after_twig_ready', $twigEnv );

位置:/wp-content/plugins/integration-dynamics/src/Shortcode/Twig.php

我的代码如下:

function bespoke_twig( $twigEnv ) {

        $urlifyFunction = new \Twig_SimpleFunction( 'urlify', function( $string ) {
            return bespoke_urlify( $string );
        } );

        $twigEnv->addFunction( $urlifyFunction );

        return $twigEnv; 
} 

add_action('wordpresscrm_after_twig_ready', 'bespoke_twig', 10, 1);

位置:functions.php(在同一文件中定义了“ bespoke_urlify()”)。

错误看起来像这样:

Template syntax error: Unknown "urlify" function in "template" at line 1.

0 个答案:

没有答案