フォーラムへの返信

15件の返信を表示中 - 1 - 15件目 (全48件中)
  • トピック投稿者 rooster0364

    (@rooster0364)

    ありがとうございます。
    参考になりました!

    トピック投稿者 rooster0364

    (@rooster0364)

    ありがとうございます。
    せっかく回答いただき恐縮ですが、それでは今ひとつなので質問させていただきました。
    大変申し訳ないです。

    • この返信は7年、 6ヶ月前にrooster0364が編集しました。
    フォーラム: 使い方全般
    返信が含まれるトピック: NaverというJqueryスクリプトが動作しない
    トピック投稿者 rooster0364

    (@rooster0364)

    nobita様
    凡ミス失礼いたしました。
    ただ、指摘されなければ気がつかなかったかもしれません。
    つまらない落ちでお恥ずかしいですが、アクションフックの件など大変勉強になりました。
    hideokamoto様ともども、お付き合いくださり本当に感謝します。

    フォーラム: 使い方全般
    返信が含まれるトピック: NaverというJqueryスクリプトが動作しない
    トピック投稿者 rooster0364

    (@rooster0364)

    nobita様
    ありがとうございます。
    先にも書きましたが、Wordpressに同梱のjqueryを使う場合、$をjqueryに置き換えるということくらいしか分かってません。
    単純に置き換えただけです。
    お手透きの際に見てくださいますと幸いです。

    /*
    * Naver v3.1.2 – 2014-11-25
    * A jQuery plugin for responsive navigation. Part of the Formstone Library.
    * http://formstone.it/naver/
    *
    * Copyright 2014 Ben Plum; MIT Licensed
    */

    ;(function (jquery, window) {
    “use strict”;

    /**
    * @options
    * @param customClass [string] <”> “Class applied to instance”
    * @param label [boolean] <true> “Display handle width label”
    * @param labels.closed [string] <‘Navigation’> “Closed state text”
    * @param labels.open [string] <‘Close’> “Open state text”
    * @param maxWidth [string] <‘980px’> “Width at which to auto-disable plugin”
    */
    var options = {
    customClass: “”,
    label: true,
    labels: {
    closed: “Navigation”,
    open: “Close”
    },
    maxWidth: “980px”
    };

    /**
    * @events
    * @event open.naver “Navigation opened”
    * @event close.naver “Navigation closed”
    */

    var pub = {

    /**
    * @method
    * @name close
    * @description Closes instance
    * @example jquery(“.target”).naver(“close”);
    */
    close: function(e) {
    return jquery(this).each(function(i, nav) {
    var data = jquery(nav).data(“naver”);

    if (data && data.jquerynav.hasClass(“enabled”)) {
    data.jquerywrapper.css({
    height: 0
    });
    if (data.label) {
    data.jqueryhandle.html(data.labels.closed);
    }
    data.jquerynav.removeClass(“open”)
    .trigger(“close.naver”);
    }
    });
    },

    /**
    * @method
    * @name defaults
    * @description Sets default plugin options
    * @param opts [object] <{}> “Options object”
    * @example jquery.naver(“defaults”, opts);
    */
    defaults: function(opts) {
    options = jquery.extend(true, options, opts || {});
    return (typeof this === ‘object’) ? jquery(this) : true;
    },

    /**
    * @method
    * @name disable
    * @description Disables instance
    * @example jquery(“.target”).naver(“disable”);
    */
    disable: function() {
    return jquery(this).each(function(i, nav) {
    var data = jquery(nav).data(“naver”);

    if (data) {
    data.jquerynav.removeClass(“enabled”);
    data.jquerywrapper.css({ height: “” });
    }
    });
    },

    /**
    * @method
    * @name destroy
    * @description Destroys instance
    * @example jquery(“.target”).naver(“destroy”);
    */
    destroy: function() {
    return jquery(this).each(function(i, nav) {
    var data = jquery(nav).data(“naver”);

    if (data) {
    data.jqueryhandle.remove();
    data.jquerycontainer.contents()
    .unwrap()
    .unwrap();

    data.jquerynav.removeClass(“enabled disabled naver ” + data.customClass)
    .off(“.naver”)
    .removeData(“naver”);
    }
    });
    },

    /**
    * @method
    * @name enable
    * @description Enables instance
    * @example jquery(“.target”).naver(“enable”);
    */
    enable: function() {
    return jquery(this).each(function(i, nav) {
    var data = jquery(nav).data(“naver”);

    if (data) {
    data.jquerynav.addClass(“enabled”);
    pub.close.apply(data.jquerynav);
    }
    });
    },

    /**
    * @method
    * @name open
    * @description Opens instance
    * @example jquery(“.target”).naver(“open”);
    */
    open: function() {
    return jquery(this).each(function(i, nav) {
    var data = jquery(nav).data(“naver”);

    if (data && data.jquerynav.hasClass(“enabled”)) {
    data.jquerywrapper.css({
    height: data.jquerycontainer.outerHeight(true)
    });
    if (data.label) {
    data.jqueryhandle.html(data.labels.open);
    }
    data.jquerynav.addClass(“open”)
    .trigger(“open.naver”);
    }
    });
    }
    };

    /**
    * @method private
    * @name _init
    * @description Initializes plugin
    * @param opts [object] “Initialization options”
    */
    function _init(opts) {
    // Settings
    opts = jquery.extend(true, {}, options, opts);

    // Apply to each element
    var jqueryitems = jquery(this);
    for (var i = 0, count = jqueryitems.length; i < count; i++) {
    _build(jqueryitems.eq(i), opts);
    }
    return jqueryitems;
    }

    /**
    * @method private
    * @name _build
    * @description Builds each instance
    * @param jquerynav [jQuery object] “Target jQuery object”
    * @param opts [object] <{}> “Options object”
    */
    function _build(jquerynav, opts) {
    if (!jquerynav.data(“naver”)) {
    // Extend Options
    opts = jquery.extend(true, {}, opts, jquerynav.data(“naver-options”));

    var jqueryhandle = jquerynav.find(“.naver-handle”).length ? jquerynav.find(“.naver-handle”).detach() : jquery(‘<span class=”naver-handle”></span>’);

    jquerynav.addClass(“naver ” + opts.customClass)
    .wrapInner(‘<div class=”naver-container”></div>’)
    .wrapInner(‘<div class=”naver-wrapper”></div>’)
    .prepend(jqueryhandle);

    var data = jquery.extend(true, {
    jquerynav: jquerynav,
    jquerycontainer: jquerynav.find(“.naver-container”),
    jquerywrapper: jquerynav.find(“.naver-wrapper”),
    jqueryhandle: jquerynav.find(“.naver-handle”)
    }, opts);

    data.jqueryhandle.text((opts.label) ? opts.labels.closed : ”);
    data.jquerynav.on(“touchstart.naver”, “.naver-handle”, data, _onTouchStart)
    .on(“click.naver”, “.naver-handle”, data, _onClick)
    .data(“naver”, data);

    // Navtive MQ Support
    if (window.matchMedia !== undefined) {
    data.mediaQuery = window.matchMedia(“(max-width:” + (data.maxWidth === Infinity ? “100000px” : data.maxWidth) + “)”);
    // Make sure we stay in context
    data.mediaQuery.addListener(function() {
    _onRespond.apply(data.jquerynav);
    });
    _onRespond.apply(data.jquerynav);
    }
    }
    }

    /**
    * @method private
    * @name _onTouchStart
    * @description Handles touchstart to selected item
    * @param e [object] “Event data”
    */
    function _onTouchStart(e) {
    e.stopPropagation();

    var data = e.data;

    data.touchStartEvent = e.originalEvent;

    data.touchStartX = data.touchStartEvent.touches[0].clientX;
    data.touchStartY = data.touchStartEvent.touches[0].clientY;

    data.jquerynav.on(“touchmove.naver”, “.naver-handle”, data, _onTouchMove)
    .on(“touchend.naver”, “.naver-handle”, data, _onTouchEnd);
    }

    /**
    * @method private
    * @name _onTouchMove
    * @description Handles touchmove to selected item
    * @param e [object] “Event data”
    */
    function _onTouchMove(e) {
    var data = e.data,
    oe = e.originalEvent;

    if (Math.abs(oe.touches[0].clientX – data.touchStartX) > 10 || Math.abs(oe.touches[0].clientY – data.touchStartY) > 10) {
    data.jquerynav.off(“touchmove.naver touchend.naver”);
    }
    }

    /**
    * @method private
    * @name _onTouchEnd
    * @description Handles touchend to selected item
    * @param e [object] “Event data”
    */
    function _onTouchEnd(e) {
    e.preventDefault();
    e.stopPropagation();

    var data = e.data;

    data.touchStartEvent.preventDefault();

    data.jquerynav.off(“touchmove.naver touchend.naver click.naver”);

    _onClick(e);
    }

    /**
    * @method private
    * @name _onClick
    * @description Handles click nav click
    * @param e [object] “Event data”
    */
    function _onClick(e) {
    e.preventDefault();
    e.stopPropagation();

    var jquerytarget = jquery(e.currentTarget),
    data = e.data;

    // Close other open instances
    jquery(“.naver”).not(data.jquerynav)
    .naver(“close”);

    if (data.jquerynav.hasClass(“open”)) {
    pub.close.apply(data.jquerynav);
    } else {
    pub.open.apply(data.jquerynav);
    }
    }

    /**
    * @method private
    * @name _onRespond
    * @description Handles media query match change
    */
    function _onRespond() {
    var data = jquery(this).data(“naver”);

    if (data.mediaQuery.matches) {
    pub.enable.apply(data.jquerynav);
    } else {
    pub.disable.apply(data.jquerynav);
    }
    }

    jquery.fn.naver = function(method) {
    if (pub[method]) {
    return pub[method].apply(this, Array.prototype.slice.call(arguments, 1));
    } else if (typeof method === ‘object’ || !method) {
    return _init.apply(this, arguments);
    }
    return this;
    };

    jquery.naver = function(method) {
    if (method === “defaults”) {
    pub.defaults.apply(this, Array.prototype.slice.call(arguments, 1));
    }
    };
    })(jQuery, window);

    jquery(function(){
    jquery(“nav”).naver({
    animated: true, //メニューを表示するときの動きを付けるかどうか
    labelClosed: “メニュー”, //閉じている時の見出し
    labelOpen: “閉じる” //開いている時の見出し
    });
    });

    フォーラム: 使い方全般
    返信が含まれるトピック: NaverというJqueryスクリプトが動作しない
    トピック投稿者 rooster0364

    (@rooster0364)

    nobita様
    アドバイスありがとうございます。
    同梱のjqueryを使うという点ではまだ解決していませんが、フッターに出力することができました。
    複数のスクリプトを読み込む場合は複数のactionを作成するのでしょうか?
    それとも、そもそも可能な場合はひとつにまとめておくべきなんでしょうか?

    フォーラム: 使い方全般
    返信が含まれるトピック: NaverというJqueryスクリプトが動作しない
    トピック投稿者 rooster0364

    (@rooster0364)

    hideokamoto様
    ありがとうございます。

    再ダウンロードして、テーマはTwenty Fourteenで再度テストしてみました。
    まず、ヘッダーのwp_headの後に上記を加えてみました。
    jqueryは同梱のライブラリとダブっていますが動作します。

    この状態でajaxからライブラリの読み込みをやめると動作しません。

    同梱のライブラリを使いたく、jquery.fs.naver.jsの$をすべてjqueryに置き換えました。
    ヘッダーのスクリプト自体も$とjquery両方で試したのですが、動作しません。
    ここの行程が間違っているのでしょうか?

    プラグインで同梱のjqueryライブラリを使っているので、できればそれで動作させたいです。
    このスクリプトが云々というよりもWrodPressでの基本的なjqueryの使い方の問題になってきているようです。
    そもそも、その部分をちゃんと理解していないためにこのような状況になっていると思うのですが、よろしければ、もう少々お付き合いくださいますでしょうか。

    フォーラム: 使い方全般
    返信が含まれるトピック: NaverというJqueryスクリプトが動作しない
    トピック投稿者 rooster0364

    (@rooster0364)

    hideokamoto様
    わざわざテストしていただき恐縮です。
    ありがとうございます。
    それでは、もう一度、Twentyシリーズを使って再テストしてみます。
    ちなみに、WordPressで同梱のJqueryを使う場合は$をjqueryに変更、通常のライブラリを読み込む場合はそのまま使用するという認識は間違いないでしょうか?
    また、ご報告させていただきます。

    フォーラム: 使い方全般
    返信が含まれるトピック: NaverというJqueryスクリプトが動作しない
    トピック投稿者 rooster0364

    (@rooster0364)

    hideokamoto様
    回答ありがとうございます。
    ご指摘の件ですが、JSファイルはとりあえずルートに置いており、実際に絶対パスでファイルそのものがブラウザで見られますので間違いなく読み込んでいます。

    フォーラム: その他
    返信が含まれるトピック: スパムコメントとサイトのパフォーマンス
    トピック投稿者 rooster0364

    (@rooster0364)

    dontkouさん
    返信遅くなり申し訳ありません。
    管理者の目には広告が届けるですか・・・
    てっきり被リンク稼ぎかと思っていました。

    とりあえず、CAPTCHA認証のプラグインを入れてスパムコメントをブロックしました。
    アタックは相変わらずですが。

    迷惑な行為ですが、なんか意図を推測するとそれはそれで面白いですね。

    フォーラム: その他
    返信が含まれるトピック: スパムコメントとサイトのパフォーマンス
    トピック投稿者 rooster0364

    (@rooster0364)

    dontkouさん
    ありがとうございます。

    サーバの不可に関しては複数ドメインのWPサイトを同居させてることと、今は数十件でももし数千件になったときにどうなるだろうと考えていました。
    CAPTCHA認証の導入を早急に検討していたいと思います。
    クローラーは厄介ですね。
    ポッドウィルス系やサイト改ざんならともかく、被リンクが目的のスパムコメントに今時効果あると思えないのですが。

    フォーラム: テーマ
    返信が含まれるトピック: 子テーマfunctions.phpでの同名関数について
    トピック投稿者 rooster0364

    (@rooster0364)

    自作テーマを子テーマで運用したいと考えていたので、気になっていました。
    ご回答を参考にやってみます。
    大変参考になる回答をありがとうございました。

    フォーラム: テーマ
    返信が含まれるトピック: 子テーマfunctions.phpでの同名関数について
    トピック投稿者 rooster0364

    (@rooster0364)

    nobitaさん
    ありがとうございます。
    そういうことなんですね。

    ただ、日本語Codexではfunction_existsみついての解説はなかったのですが、これではじめてオーバーライドされるということなのでしょうか?
    そうでない場合は同じ関数名がダブるとやっぱりエラーになってしまうのでしょうか?

    フォーラム: 使い方全般
    返信が含まれるトピック: 記事・ページの管理画面上での一覧表示順
    トピック投稿者 rooster0364

    (@rooster0364)

    nobitaさま
    ありがとうございます。
    大変参考になりました。
    投稿はもともと日付ソートでしたね。

    トピック投稿者 rooster0364

    (@rooster0364)

    jim912さま
    参考になります。
    ありがとうございました。

    トピック投稿者 rooster0364

    (@rooster0364)

    Twentyをベースに望みの表示ができるようになりました。
    というか現在のタグページのタグは普通にsingle_tag_title()で取得できますね。
    お恥ずかしい。
    おふた方ともありがとうございました。

15件の返信を表示中 - 1 - 15件目 (全48件中)