请容忍我,因为我是一名前端开发人员,正在努力解决PHP问题。
我正试图通过在我的网站上添加一个函数,将重力表单添加到我的网站上的特定页面functions.php
文件它在页面上的位置无关紧要,因为表单最初将被隐藏,然后用于退出意图弹出窗口。Gravity form\'s documentation 表示可以通过PHP函数调用嵌入重力表单。这是他们给出的示例:
gravity_form( 1, false, false, false, \'\', false );
在搜索了我找到的已问过的问题后
this post 关于只调用指定页面上的函数的条件PHP。我试着把这一切放在一起。结果如下:
function add_split_test_forms()
{
if (is_page(\'Homepage\')):
gravity_form(19, false, false, false, \'\', false);
endif;
}
我加了一句;添加\\u split\\u test\\u表单“;因为我假设这只是我对函数的命名(如果我错了,请纠正我)。
不幸的是,这不起作用。我尝试了其他变体,例如使用页面id而不是页面名称,但结果是一样的。
我回到了关于条件PHP的帖子,并尝试了另一个经过投票的答案(被接受的答案),结果我尝试了以下代码:
function add_split_test_forms()
{
global $post;
<?php if( $post->ID == 5457) { ?>
gravity_form(19, false, false, false, \'\', false);
endif;
<?php } ?>
}
这打破了一切,所以我也尝试了:
function add_split_test_forms()
{
global $post;
if( $post->ID == 5457) {
gravity_form(19, false, false, false, \'\', false);
endif;
}
}
这也打破了一切。所以现在我回到第一个例子,它至少不会让整个网站瘫痪。
在文档页面的末尾,它说:
当通过函数调用嵌入表单时,还必须通过内置WordPress排队功能手动包含必要的重力表单相关Javascript和CSS。Gravity表单在通过函数调用调用表单时默认不包括这些,并且它们对于包含条件逻辑或日期选择器字段的表单是必需的。
我们强烈建议您将脚本排队,而不是将它们作为硬编码调用包含在主题中。以这种方式实现它将确保重力表单不会在页面上包含它们(如果它们已经存在)。仅在前端加载这些脚本也是一种很好的做法。
Gravity Forms 1.5引入了Gravity\\u form\\u enqueue\\u scripts()函数,该函数允许您在手动嵌入表单时轻松将必要的Gravity表单脚本和样式排入队列。如果您使用的是GF小部件,并且不希望以内联方式加载样式和脚本,那么这也很有用。
当我查看文档时gravity_form_enqueue_scripts
它提供了这个示例gravity_form_enqueue_scripts( 4, true );
并说:
此脚本应放置在主题的标题中。调用wp\\u head()函数之前的php文件。
但是我不能把它添加到函数中吗。php文件?当我尝试时:
function add_split_test_forms()
{
if (is_page(\'Homepage\')):
gravity_form_enqueue_scripts( 19, true );
gravity_form(19, false, false, false, \'\', false);
endif;
}
以及
gravity_form_enqueue_scripts( 19, true );
function add_split_test_forms()
{
if (is_page(\'Homepage\')):
gravity_form(19, false, false, false, \'\', false);
endif;
}
这两种方法都行不通。我需要挂到
wp_head()
在我的
functions.php
要添加的文件
gravity_form_enqueue_scripts( 19, true );
?
Important notes to preempt what questions I can think of:
<这将添加到我的
functions.php
关闭前的文件
?>
.是的,此表单存在并在其他页面上正常运行我已经查看了这里关于页面条件PHP函数的其他帖子,但没有一篇能够解决这个问题根据重力表文档,我甚至没有得到;哎呀!我们找不到您的表单"E;错误绝对没有输出(据我所知)。对页面的更改也不可见我还浏览了一些帖子,这些帖子下面很少使用的标签是
[page-specific-settings].