解決方法ではなくて申し訳ないです。
Contact Form 7 1.9.1を2.6.5と2.7で使ってますがVista SP1+IE7と
XP SP2/SP3+IE7でErrorなく表示できています。
再度Contact Form 7 1.9.1をアップロードしなおすとかしたり
使っているプラグインを全部停止してContact Form 7だけ
有効にしてみてみたら如何でしょうか?
Contact Form 7 の作者です。こんばんは。
そういった現象は XHTML の構文が崩れているなどの理由で javascript が正常に機能できないときによく見られます。XHTML Validator などで一度点検してみてはいかがでしょうか。
ロードしている javascript のあいだでコンフリクトを起こしているケースも考えられます。その場合は masaru さんが指摘されたように他のプラグインの無効化で検証可能ですね。
もちろん他の理由も考えられるのでこの限りではありません。実際のページを見ることができれば問題点を誰か指摘できるかもしれません。
4koyamaです、
masaruさん、takayukisterさんおはようございます。
ご教授有難うございます。
やはり、自分の環境で特別に起こっている現象なのですね。
教えていただいた事を早速試してみました。
まず、全てのプラグインをはずしてContact Form 7のみにしてみてもエラーでした。
XHTML Validatorで
エンコーディング:utf-8
ドキュメントタイプ:xhtml 1.0 Transitionalでエラーは見つかりませんでした。
一度、Contact Form 7を削除して再度インストールしてみたのですがエラーでした。
実際のページは、 http://yokoyama-f.net/ です。
現在現象が再現されています。
wordpress初心者なもので皆さんにご迷惑かけますが、よろしくお願いします。
仕事中なのでIE7環境がなかったので、Firefox 3.0.5+Web Developer 1.1.6 日本語版で
みてみました。
トップページを開くと
エラー: jQuery(“div.wpcf7 > form”).ajaxForm is not a function
ソースファイル: http://yokoyama-f.net/wordpressn/wp-content/plugins/contact-form-7/contact-form-7.js
行: 5
のエラーが出てますね。
どんな時にこのエラーがでるかは私は見た事がないのでわかりかねます。
takayukisterさんのレスを期待って事で・・・。
こんにちは、masaruさま。
お忙しいところご確認有難うございます。
やはり、自分の環境がよろしくないのでしょうかね。。。
お手数おかけして申し訳ありませんでした。
4koyamaさん、こんにちは。
ソースを見ると、Contact Form 7のスクリプト読み込み後にテーマのjquery.jsが読み込まれています。
これを先に読み込ませるか、使用していないのであれば、このjavascriptの読み込み自体を止められないでしょうか。
横からすみません。
jim912さんの指摘のようにテーマのjquery.jsの読み込む順序を変えるのが良いと思います。
個人的にはjquery.jsの読み込みをテーマにハードコードしているのが気になります。
プラグインによってはjquery.jsを使用するものもあり、二重三重に読み込んだりバージョンが違ったりムダも発生するように思います。
<?php wp_enqueue_script(‘jquery’); ?>
と作法にのってムダが無いようにスクリプトを読み込んだ方が良いかと思います。
<?php wp_enqueue_script(‘jquery’); ?>
<?php wp_head(); ?>
<script type=”text/javascript” src=”http://yokoyama-f.net/wordpressn/wp-content/themes/wsc4-1.1/js/tree.js”></script>
<script type=”text/javascript”>
jQuery.noConflict();
var j$ = jQuery;
</script>
</head>
のほうが良いかと思います。
コードの検証はしていません。
すみません、うっかり見落としてました。
jQuery.noConflict();
var j$ = jQuery;
がエラーの原因見たいです。
//var j$ = jQuery;
とコメントにしtree.js内のj$をjQueryに書き換えると良いような・・・
今度もコード検証をしていないのでうまくいかないかもです。
jim912さま、taikikenさま、初めまして、こんにちは。
ご教授有難うございます。
自分は素人なもので皆様方の指摘が半分理解できていないのですが。。。
とりあえず、javascriptの読み込みを自分なりに整理してみたのですがうまくいきません。。
もはや、プラグインとは関係なくなってしまったような気がしますが、よろしくお願いします。
javascriptの読み込みを自分なりに整理してみたのですがうまくいきません。。
どういう風にされたのでしょう。
まずは header.php(多分)の
<?php wp_head(); ?>
以下の
<script type=”text/javascript” src=”<?php bloginfo(‘template_directory’); ?>/js/jquery.js”></script>
<script type=”text/javascript” src=”<?php bloginfo(‘template_directory’); ?>/js/tree.js”></script>
<script type=”text/javascript”>
jQuery.noConflict();
var j$ = jQuery;
</script>
を削除あるいはコメントにしてみるとどうでしょう。
4koyamaさん、taikikenさん、こんばんは。
利用されている(と思われる)テーマが昨日付でアップデートされてました。(爆)
WSC4.2アップデート
- サブカテゴリーをプルダウンで表示させる機能が、他のプラグイン使用時にエラーを発生させる原因となっていたので、この機能をしばらく廃止する事にしました。
- STYLE.CSSの各所を変更。
先の返信でtaikikenさんが示されている通り、テーマのjavascript部分をごっそり削除してしまうのがよさげです。(サイドバーのプルダウンはされませんが。。。)
無事(?)解決のようですね。
蛇足ながらいちおう補足でコメントしておくと、taikiken さんが書かれたように jQuery などのよく使われる Javascript ライブラリを読み込む時には wp_enqueue_script()
を使うのが正しい手順です。今回のケースでも問題の根本は、テーマがこれを使わず独自に jquery.js を読み込んでいたことにありました (そこさえ正しくしていれば Javascript 全削除は必要なかったはず)。
wp_enqueue_script()
はだいぶ前から用意されているものですがまだ知らないプラグイン/テーマ開発者も多いようで、こういったコンフリクト事例はけっこう頻繁に見られます。同じようなケースに遭遇した場合は、HTML ソースのヘッダを見て、同じ名前の js ファイルが複数回読み込まれていないかチェックしてみるとよいでしょう。
みなさま、おはようございます!
タイミングよくテーマがアップデートされエラーは解消しました!
素人の自分を一々面倒見ていただきありがとうございました。
これからも色々勉強していきますが、また壁にぶち当たった時はよろしくお願い致します!