仅在某些页面上添加过滤器/功能

时间:2016-03-11 06:39:09

标签: php wordpress function if-statement

我想将以下代码添加到WordPress中的functions.php

add_filter( 'gform_submit_button_4', 'form_submit_button', 10, 2 );
function form_submit_button( $button, $form ) {
    return "<button class='button' id='gform_submit_button_{$form['id']}'>Get a Test Drive</button>";
}

但是,我只想在某些页面上应用它,我尝试了两种途径:使用is_page&amp;的if语句。包裹重力形成一个div中的短代码与一个类,目标只有.class #gform_submit_button_4到目前为止我还没有能够工作。

非常感谢任何帮助。

感谢
威廉

2 个答案:

答案 0 :(得分:1)

尝试使用get_queried_object功能,

<?php
function form_submit_button( $button, $form ) {
    return "<button class='button' id='gform_submit_button_{$form['id']}'>Get a Test Drive</button>";
}
$queried_object = get_queried_object();
if ( $queried_object ) {
    $pageId = $queried_object->ID;
    if($pageId == 'someid') {
        add_filter( 'gform_submit_button_4', 'form_submit_button', 10, 2 );
    }
}
?>

答案 1 :(得分:1)

在重力形式中,从重力形式的后端选项中添加一个页面slug字段,其类型为隐藏。

1)您可以从后端创建字段,并使用JS

为其分配值

2)重力表单为您提供了一个选项,可以使用您可以从该网址解析页面slug的表单发送网址

add_filter( 'gform_submit_button_4', 'form_submit_button', 10, 2 ); function form_submit_button( $button, $form ) { // please print $form and check you get your current page slug variable e.g $form['my_page_slug'] // create an array that have your new button slugs e.g $pages_slug_array = array('about','contact-us'); if(in_array($page_slug_arry, $form['my_page_slug'])){ return $button = "<button class='button' id='gform_submit_button_{$form['id']}'>Get a Test Drive</button>"; } }

希望你有那个