WP プラグイン – Contact Form iii アクセス権がないとき
おそらくWordpress で 最も有名なフォームプラグイン、
Contact Form 7 は高機能だけど、
ヨホ研に高機能フォームは今の所いらないし、CSSとJSを圧縮して軽量化しようとしたら 他とコンフリクトしてしまったので、軽そうな WP Contact Form iii を導入。
ところが プラグインを有効にすると、なぜか
「このページにアクセスするための十分なアクセス権がありません」とか言われちゃったので、
自宅で働く元プログラマーのブログ さま と、
yukari-net管理人のお気楽忘備録 さまを参考に、phpを改変。
1.wp-contactform-iii.php の 295行目あたり、
add_action('wp_head', 'wpcf_css'); add_action('admin_head', 'wpcf_add_options_page'); add_shortcode('contactform', 'wpcf_callback');
の、
add_action(‘wp_head’, を
add_action(‘wp_menu’, に変える。
add_action('wp_head', 'wpcf_css'); add_action('admin_menu', 'wpcf_add_options_page'); add_shortcode('contactform', 'wpcf_callback');
2.ついでに おおまかな日本語化ファイル作成。日本語化ファイルは こちら。
[languages]フォルダに [ cfiii-ja.mo ] を入れれば完成。
(のちほど追記あり)
3.さらに Hatena さま を参考に、
タイトル記入欄、ウェブサイト記入欄を削除。
78行目あたり、コメントアウト
$fullmsg .= "".__('Website:','cfiii')." " . $website . "\n";
114行目あたりから以下の部分を コメントアウト。
if(empty($_POST['wpcf_subject'])) { $ok = false; $reason = 'empty'; $wpcf_strings['subject'] = '<input type="text" name="wpcf_subject" id="wpcf_subject" size="30" maxlength="50" value="* ' . $_POST['wpcf_subject'] . '" class="contacterror" tabindex="4"/>'; }
202行目からもコメントアウト。
<label for="wpcf_website">'. __('Website:', 'cfiii') .'</label> <input type="text" name="wpcf_website" id="wpcf_website" size="30" maxlength="50" value="'. $_POST['wpcf_website'] .'" tabindex="3" /> <label for="wpcf_subject">'. __('Subject:', 'cfiii') .'*</label> '. $wpcf_strings['subject'] .'
4.もひとつおまけに スパム防止認証機能も削除。
114行目あたりから以下の部分を コメントアウト。
if(empty($_POST['wpcf_response'])) { $ok = false; $reason = 'empty'; $wpcf_strings['response'] = '<input type="text" name="wpcf_response" id="wpcf_response" size="30" maxlength="50" value="* ' . $_POST['wpcf_response'] . '" class="contacterror" tabindex="6" />'; } if (!wpcf_is_challenge($_POST['wpcf_response'])) { $ok = false; $reason = 'wrong'; $wpcf_strings['response'] = '<input type="text" name="wpcf_response" id="wpcf_response" size="30" maxlength="50" value="* ' . $_POST['wpcf_response'] . '" class="contacterror" tabindex="6"/>'; }
212行目からもコメントアウト。
<label for="wpcf_response">'. __($question,'cfiii') .'*</label> '. $wpcf_strings['response'] .'
♨ ♨ ♨ ♨ ♨
と、いろいろやってみたものの、どうにも使いづらい。
なんだか 日本語化したのと実際の挙動が違うし。(訳を間違えてるだけかも??)
なので、ひとまず取り下げです。
It’s a Bone Brake Zone!
(骨折り損!)
その後、BASSINOUE さま を参考に、お問合せページ以外での Contact Form 7の読み込みを止めたりなんだり、という解決策にしましたよ。