商品ページ、カートなど必要な場合だけJavaScriptをロードする

2013 年 12 月 5 日

ホーム フォーラム 使い方全般 商品ページ、カートなど必要な場合だけJavaScriptをロードする

このトピックには8件の返信が含まれ、2人の参加者がいます。3 年、 9 ヶ月前 horichan さんが最後の更新を行いました。

9件の投稿を表示中 - 1 - 9件目 (全9件中)
  • 投稿者
    投稿
  • #57596

    horichan
    参加者

    動作に関するご質問の場合は必ずご記入ください。


    WordPress のバージョン:3.6.1

    Welcart のバージョン:1.3.9

    ご利用のテーマ:オリジナル

    症状を確認したブラウザ:クローム

    サーバー(会社名、サービス名):ロリポップ

    SSLの利用:あり | 専用SSL | 共用SSL

    WordPress のパーマリンク設定:あり


    お世話になります。

    素晴らしいプラグイン、ありがとうございます。

    ウェルカートでネットショップを運営しておりますが、読み込み速度アップに取り組んでおります。

    以下のような記事を見つけました。

    必要な場合だけ JavaScript とスタイルシートをロードさせるには

    http://contactform7.com/ja/loading-javascript-and-stylesheet-only-when-it-is-necessary/

    こちらはコンタクトフォーム7に関するものですが、同様なことをウェルカートでも行うことは可能でしょうか。

    ワードプレス+ウェルカートにてサイトを作っておりますが、商品ページやカートページなどショッピングに関係ないページが結構あります。

    カスタム投稿タイプなどを使ってブログも作っていますので、これらのページにはウェルカートのJavaScriptやCSSを読み込ませないようにできたらありがたいです。

    前述のやり方はまだ試してはいないのですが、ウェルカートにもあてはめてやってみることができるのか、またそうした場合、何か不具合が起こる可能性があるのか教えていただければと思います。

    関連して、ウェルカートの場合、デフォルトでJQueryを読み込みますが、ヘッダー部分にJQuery、プラグインのcss、テーマファイルのcssという順番で読み込まれます。

    これがグーグルのページスピードによると、順番が逆で、cssは前、JavaScriptは後に読み込むようにせよと指摘されます。ついでにJQueryはヘッダーではなくフッターで読み込むようにと言われます。

    wp_deregister_scriptを使ってフッターに読み込ませるようにしましたが、フッター部分のウェルカートがロードするJavaScriptのコードの後ろへ出てしまうのでエラーになってしまうのです。

    ウェルカートのデフォルトで、JQueryをフッター部分に正しい順番でロードさせるようにできればありがたいのですが…。

    現段階で結構ですので、何か対処方法があれば教えてください。

    どうぞよろしくお願い致します。

    #68032

    nanbu
    参加者

    こんにちは。

    WordPressのwp_enqueue_scriptのデフォルトのハンドルに’jquery’がございます。こちらのハンドルはwp_headerでのみ出力といった制限がかかっているようです。これは、WordPressが意図的にjqueryをヘッダに置くという認識でいるという事ではないでしょうか。

    因みに、第4引数でwp_footerを強制しますが、フッタには出力されずヘッダに出ます。

    wp_enqueue_script(‘jquery’, false, array(), false, true);

    こちらの資料が非常にわかりやすいかと思います。

    http://elearn.jp/wpman/function/wp_enqueue_script.html

    #68033

    horichan
    参加者

    第4引数でwp_footerを設定はできました。

    ただ、ウェルカートのコードよりも後に出てしまうんですよね…。

    現状では希望通りにすることは無理なようですので、あきらめます。

    お答えいただきありがとうございました。

    #68034

    nanbu
    参加者

    出ましたか!?

    hookは何をお使いですか?

    #68035

    horichan
    参加者

    前にやってみたときは、フッターに出たのですが、さきほどもう一度試してみたら、出ませんでした。

    フックはわからないのですが、コードは以下のものを<?php wp_head(); ?>の前に入れました。

    <?php

    wp_deregister_script(‘jquery’);

    wp_enqueue_script(‘jquery’, ‘http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js’, array(), ‘1.0’, false);

    ?>

    いろいろ調べてフッターに出せるようになったという記事も見たのですが…

    「ページスピード」は必ずここを治せというのですが、出来ないなら仕方がないですね。

    cssについては、プラグインで出されるcssを使わない設定をすればいいので、それで順番については解決できそうです。

    まだ試していませんが、ブログ関連の記事にウェルカートのスクリプトを出さないようにする設定ができればと思っています。それができれば、ヘッダー、フッターともにかなりすっきりしてくると思います。

    今後ともどうぞよろしくお願い致します。

    #68036

    nanbu
    参加者

    ブログ記事でWelcartのショートコードを使わないのでしたら、JavaScriptは出力しなくても問題はございません。ただ、通常記事では、フッタにわずかなJavaScriptがあるだけですので、これを取っても然程スピードは変わらないかと思いますが。

    #68037

    horichan
    参加者

    ご返信ありがとうございます。

    今のところ、フッターに


    <script type=’text/javascript’>

    /* <![CDATA[ */

    uscesL10n = {

    ‘ajaxurl’: “http://www.sy-golf.com/iomic/wp-admin/admin-ajax.php”,

    ‘post_id’: “253”,

    ‘cart_number’: “2953”,

    ‘is_cart_row’: false,

    ‘opt_esse’: new Array( ),

    ‘opt_means’: new Array( ),

    ‘mes_opts’: new Array( ),

    ‘key_opts’: new Array( ),

    ‘previous_url’: “http://www.sy-golf.com/iomic”,

    ‘itemRestriction’: “”

    }

    /* ]]> */

    </script>

    <script type=’text/javascript’ src=’http://www.sy-golf.com/iomic/wp-content/plugins/usc-e-shop/js/usces_cart.js’></script>


    というコードが表示されるのですが(ご利用ガイドなどのページ関連)これは出ていても正常でしょうか。

    確認してみたらブログページには上記のコードは出力されていませんでした。

    ブログはカスタム投稿タイプを利用しており、シングル、アーカイブも別のファイルを作って表示させております。今のところショートコードは使っていないのでこれでいいのですが、逆に今の状況ではブログ内ではショートコードは使えないのでしょうね。

    ウェルカートのコードが出力されるファイルとされないファイル、何か設定などで違いがあるのでしょうか。プログラムは全くわからないのですが、できればページ関連もブログと同様にウェルカートのコードが出ないようにできればすっきりするなあと思っています。

    #68038

    nanbu
    参加者

    申し訳ございません。

    これを削除すると、利用されているユーザーの方に影響が出ますので、今のところ削除することはできません。しかし、カスタム投稿の場合は削除しても問題ないかと思います。検討したいと思います。

    #68039

    horichan
    参加者

    ありがとうございます。

    とりあえずブログ部分にコードが出ていないので(なぜかわかりませんが)このまますすめたいと思います。

    商品ページだけに出すように制御できるとありがたいですが、ページ部分は読み込み速度は関係ないので、これで十分です。

    まだまだ勉強不足ですが、がんばってよりよいサイトを作りたいと思います。今後共どうぞよろしくお願い致します。

9件の投稿を表示中 - 1 - 9件目 (全9件中)

このトピックに返信するにはログインが必要です。