重力表单添加显示无

use*_*729 5 css wordpress wordpress-theming wordpress-plugin gravity-forms-plugin

我创建我的WordPress主题里的模板,因为我的模板是一个完全不同的布局比我的活动主题,模板都有它自己的页眉和页脚以及两者的内部我已经正确声明wp_head();wp_footer();分别.

在我的模板代码中,我试图使用do_shortcode显示重力形式,但没有显示任何形式.当我检查该区域时,我可以看到表单代码,但是有一个style="display:none"添加到.gform_wrapperdiv.

再补充一点,重力形式在我的网站的其余部分(使用活动主题的所有页面/帖子)中都能正常工作,我的自定义模板上只有问题.

任何建议都非常感谢.

谢谢

小智 24

虽然这是一个老问题,但当我搜索这个问题时,它仍然首先出现,所以我正在添加我的解决方案以防其他人也在搜索.如果您的主题通过在functions.php中包含以下一行或多行代码将脚本移动到页脚(通常出于性能原因而推荐):

remove_action('wp_head', 'wp_print_scripts'); 
remove_action('wp_head', 'wp_print_head_scripts', 9);
add_action('wp_footer', 'wp_print_scripts', 5);
add_action('wp_footer', 'wp_print_head_scripts', 5);
Run Code Online (Sandbox Code Playgroud)

你需要将Gravity Forms脚本移动到页脚,所以它们会在jQuery之后被调用.您可以通过将以下代码添加到主题的functions.php文件中来完成此操作:

add_filter('gform_init_scripts_footer', 'init_scripts');
function init_scripts() {
    return true;
}
Run Code Online (Sandbox Code Playgroud)

  • 我只需要add_filter部分-感谢@Linn :) (2认同)

小智 5

这是因为您在表单上使用了条件逻辑.无论何时出现条件逻辑,整个表单都设置为display:none; 然后javascript用于仅显示应显示的字段.

但是,这需要Gravity Forms能够使用WordPress内置的enqueue函数输出必要的Javascript ...它会在您的页脚中输出Javascript.

您的主题可能没有在您的主题的footer.php文件中调用此函数:

<? php wp_footer(); ?>
Run Code Online (Sandbox Code Playgroud)

这个函数调用,所有主题应该具有(但许多人忘记包括),使插件能够动态地在主题的页脚中输出代码.如果不存在,则主题无法输出必要的代码.

这很可能是您的表单无法正常显示的原因.

答案来自:http://www.gravityhelp.com/question/why-is-there-a-style-attribute-of-displaynone-being-added-my-form-isnt-showing-up/

  • 这给了我一些线索,我需要查看页面上的其他Javascript错误.摆脱错误使表格再次出现. (3认同)
  • 感谢您尝试提供帮助,wp_footer位于主题页脚中,并且没有条件逻辑字段. (2认同)
  • 同样的问题在这里。对我来说与 wp_footer() 无关。我也被迫进行 CSS hack。 (2认同)

小智 -1

您是否尝试style="display:none"过从.gform_wrapperdiv 中删除?或者将其更改为 style="display:block"