簡體   English   中英

將 WP/WooCommerce 用戶與 CF7 表單關聯

[英]Associate WP/WooCommerce user with CF7 form

如果在 WP 的“會員區”中使用 CF7 表單,如果用戶最初是通過 WooCommerce 購買創建的,是否有辦法關聯誰提交表單?

我知道我們可以將他們的用戶名作為表單的一部分來詢問,但我正在尋找一種更好的方法來解決這個問題,即表單自動提取用戶 ID。 然后我們將通過 webhook 推送表單提交,並根據表單響應在后端添加自動化。 這只是我正在尋求幫助的第一部分,我還沒有找到任何關於它的好文章。

WordPress 允許您使用函數get_current_user_id()查詢當前登錄用戶的給定請求/表單提交。 但是,在 REST api/AJAX 調用期間不會保留登錄的用戶憑據。 CF7 使用 REST api 提交表單,因此無法將此函數用於 CF7 表單提交。

你有兩種方法可以解決這個問題,

.1. 使用Smart Grid-layout 擴展,它修復了 CF7 插件的許多編碼問題,其中之一是在表單提交時保留用戶憑據,因此允許您使用上述功能,

add_action('wpcf7_before_send_mail', 'get_cf7_user');
function get_cf7_user($form){
  $user_id = get_current_user_id();
  switch($user_id){
    case 0: //no user logged in.
      break;
    default: //registered user ID.
      $user = wp_get_current_user(); //this is another fn which will get you the user object.
      break;
  }
}

.2. 或者,您需要將當前用戶的 ID 作為隱藏字段添加到表單中,以便在提交表單后檢索它。 有關示例,請參閱此答案

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM