重力形式 - 多站点的全局形式

时间:2015-11-20 12:18:26

标签: wordpress wordpress-plugin gravity-forms-plugin

我是一个拥有20多个网站的WordPress多站点网络。并且我使用重力表格进行联系/注册/订阅表格。我想为我的wordpress多站点安装创建全局表单。重力表单是否可能仅将表单条目保存到主/父站点?我尝试在儿童网站中使用switch_to_blog()。但它不起作用。任何帮助将不胜感激:))

2 个答案:

答案 0 :(得分:1)

Gravity表单根据博客数据库表前缀

存储数据 多站点中的

所有站点使用相同的数据库,但数据基于表前缀分隔,前缀类似于wp_1_,wp_2_,wp_3 _.....

如果您有一个网站,例如带有表格前缀的my.blog1.com,wp_1_,重力形式将my.blog1.com的所有表单条目存储到wp_1_rg_lead,wp_1_rg_lead_detail,wp_1_rg_lead_detail_long,

现在,如果要在父安装上保存这些详细信息,则需要使用数据库并使用gform_pre_submissiongform_after_submission

等挂钩修改重力表单

post可能有所帮助 http://www.endocreative.com/save-gravity-forms-data-custom-database-table/

答案 1 :(得分:0)

如果您将表单复制到所有站点,则可以通过将其包含在“子”站点中来使它们都将其数据发送到主站点:

$formId = 1;  //Put your form id here
add_filter('gform_confirmation_'.$formId, 'gform_confirmation', 10, 4);

function gform_confirmation($confirmation, $form, $entry, $is_ajax) {

    //Switch to Main site
    switch_to_blog(1); 

    //Insert the entry into the main site
    $new_entry_id = \GFAPI::add_entry($entry);

    //Switch back
    restore_current_blog();

    //Tidy up by deleting the entry from THIS site
    $result = GFAPI::delete_entry($entry['id']);
    return $confirmation;
}