重力表单标记插件馈送

时间:2016-03-07 作者:Django

我想知道是否有人知道我可以用于Marketo Gravity表单插件的任何挂钩?

基本上,我需要根据URL中的变量(例如)动态更改活动提要。

目前,该插件的工作方式是在marketo中创建marketo活动,然后在WP>gravity forms>marketo中为该活动提要分配一个表单,然后映射字段。

我所要做的就是更改提要,使其进入各自的Marketo活动。

我试着联系插件作者,甚至是支持中的一篇帖子,但都没有成功。

非常感谢您的帮助。

1 个回复
最合适的回答,由SO网友:Tim Malone 整理而成

我相信特定的第三方插件是本网站的主题,然而,我将把你的问题更广泛地理解为“如何才能找到插件的挂钩?”

幸运的是,无论您是否得到插件开发人员的支持,这都是一件容易找到的事情:只需在您最喜欢的文本编辑器中打开插件的PHP文件,然后搜索文本apply_filters. 您发现的每个应用\\u过滤器的调用都是可以使用的挂钩。

您可以对插件和Wordpress核心都这样做。例如,在wp-includes/nav-menu.php 我可以在689号线上看到这个电话:

apply_filters( \'wp_get_nav_menu_items\', $items, $menu, $args );

这意味着,如果我想对导航菜单项进行更改,或者重新排序,我可以添加到我的主题中:

add_filter( \'wp_get_nav_menu_items\', function($items){
  // do something do the $items array
  return $items;
} );
如果您正在查看的插件没有调用apply_filters, 它调用的Wordpress函数可能有自己的过滤器,您可以连接到其中。通过对Wordpress的核心函数进行一点搜索,你会发现许多可以使用的过滤器(如果你不知道函数在哪个文件中,通常通过谷歌搜索函数名就会知道)。

最后,如果插件没有你需要的过滤器,你可以自己添加。理想情况下,找到插件的开发存储库(可能在Github上),提交拉取请求,并将调用添加到apply_filters - 具有唯一的过滤器名称,最好以插件名称为前缀,如果您的修改被接受,您的代码将进入插件。当然,您可以自己对插件的本地副本执行此操作,但是每次插件更新时,您都需要重新执行此操作!