新規入会フォーム
初回の解説において、例えばlocalhostの場合で、"新規入会フォーム"の"送信する"ボタンを押したときにformのaction属性に指定されているhttp://localhost/wordpress/?page_id=55&page=newmember
は、この新規入会フォーム自身であると説明した。しかし、この
http://localhost/wordpress/?page_id=55&page=newmember
がなぜ"新規入会フォーム"ページであり、その元になるファイルが、/wc_templates/member/wc_new_member_page.phpとなるのかについては詳しく触れなかったので、そこを掘り下げていきたいと思う。
regist_actionメソッドを見てみよう
regist_actionメソッドを見ると、usces_register_action('page_newmember', 'get', 'page', 'newmember', 'page_newmember');
http://localhost/wordpress/?page_id=55&page=newmember
と、まさに'get'メソッドで$_GET['page'] = 'newmember'が渡っていることが分かる。なので、ad_controllerメソッドにより、page_newmemberメソッドがコールされることが分かる。
page_newmemberメソッド
page_newmemberメソッドは何をしている関数かというと、ソースをみると、function page_newmember(){ global $wp_query; $this->page = 'newmemberform'; add_filter('yoast-ga-push-after-pageview', 'usces_trackPageview_newmemberform'); add_action('the_post', array($this, 'action_memberFilter')); add_action('template_redirect', array($this, 'template_redirect')); }
template_redirectメソッド
template_redirectメソッドでは、$this->pageが'newmemberform'のときに、if( file_exists(get_stylesheet_directory() . '/wc_templates/member/wc_new_member_page.php') ){ $member_regmode = 'newmemberform'; include(get_stylesheet_directory() . '/wc_templates/member/wc_new_member_page.php'); exit; }
0 件のコメント:
コメントを投稿