WordPress Contact Form 7 簡碼中插入javascript

利用 do_shortcode_tag 這個 Filter 驗證執行的簡碼是不是 contact-form-7

再驗證簡碼參數id , 是否為目標 contact-form-7 的 id

Example:

add_filter('wp_enqueue_scripts', 'register_my_script');
function register_my_script(){
    wp_register_script( 'my-cf7-script', get_stylesheet_directory_uri() . '/assets/js/cf7.js', array( 'jquery' ), "1.0" , false );
}
add_filter('do_shortcode_tag', 'enqueue_my_script',10,3);
function enqueue_my_script($output, $tag, $attr){
  if('contact-form-7' != $tag){ 
    return $output; //make sure we filter cf7 shortcodes
  }
  if(isset($attr['id']) && '4' == $attr['id']){
    wp_enqueue_script('my-cf7-script'); //enqueue if it is form id=4
  }
  return $output;
}

 

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料