フォーラムへの返信

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • フォーラム: プラグイン
    返信が含まれるトピック: ACFプラグインのRepeater Fieldを使ったQuery制御

    name、category、area3つとも全てもカスタムフィールドで使用しているメタになります。
    厳密に言うとリピーターフィールドで登録したサブフィールドのメタです。
    またcategory、areaの2つはタクソノミーをカスタムフィールドのメタとして選択(登録)出来るようにしているだけで、
    postのタクソノミーとしてはセーブしないようにしています。
    ここでセーブしてしまうと
    リピーターフィールドで列をどんどん追加して、登録したタクソノミー全てが
    postのタクソノミーになってしまうと思うので、
    以下の現象にぶち当たってしまうかと。

    >記事Bのname3のcategoryに「a」が入り、name2のareaに「B」が入っているため
    >同一のnameに値が属していない記事Bもクエリーの対象となってしまいます。

    mura0403さんのように2つのタクソノミーだけの単純な絞り込みでしたら
    特に問題はないと思うのですが、
    今回私が望んでいる要件とは少し違っています。

    説明不足でわかりにくかったと思うので以下でもっと詳しく説明させていただきます。

    ・カスタム投稿タイプeventでイベントのシリーズ情報を数千件post登録する。
    ・カスタム投稿eventのpost内にそのイベントに属する個別のイベントを複数登録。
    ・個別のイベントには名前(name)、開催地(area)、カテゴリー(category)を登録する。
    ・アーカイブページでは開催地とカテゴリーを選択して絞り込み表示を出来るようにする。(メインクエリー)
    ・絞り込みはあくまで個別イベントについての情報で絞り込む。
    と言った内容です。

    さらに具体的に言うと、
    カスタム投稿タイプeventのAというイベントシリーズの中に、
    「第1回イベント」東京・神奈川、j-pop・hiphop
    「第2回イベント」北海道、reggae
    「番外編イベント」沖縄、演歌
    というような個別イベントを登録したいのです。

    そして絞り込みは個別イベントがもっている情報を元にクエリーを作ります。
    東京 – 演歌で絞り込んだ際にAのイベントシリーズが該当するのは困るわけです。
    東京では演歌のイベントをやっていないので。

    また並び替えはイベントシリーズ自体に登録されているカスタムフィールドの値をもとに行いたいです。

    一旦は個別イベントとイベントシリーズを別のカスタム投稿タイプとして登録して、
    一度裏側で個別イベントをget_postして絞り込みを行い、
    (mura0403さんが例に出したようなタクソノミーを使った絞り込みです)
    該当した数百〜数千の個別イベント情報を元にイベントシリーズのクエリーを用意したのですが、
    2重でクエリーを作ってるうえに、1度目の個別イベントをget_postする際には全件(1万件前後)を対象にする必要があるため
    とても重い処理になってしまい負担が大きくなってしまいました。

    そこで初回の質問で書いたような
    >対策として未入力用のサブフィールド(テキスト) fooをリピーターフィールド内に1つ追加して
    >記事を更新したタイミングでcategoryとareaの値を結合してサブフィールドfooに登録。
    >クエリーの絞り込みはfooを元に絞り込む方法は思いついています
    というような案しか現在思い浮かんでいない状態というわけです。

    説明が下手で申し訳ありませんが、
    引き続きアドバイスいただけるとうれしいです。
    よろしくお願いします。

    同じ状況なら、私がとった方法でスラッグを変更せずに対応できると思います。
    https://ja.forums.wordpress.org/topic/157512?replies=4

    Hinaloeさんの情報も参考になりました。
    ありがとう御座いました。

    フォーラム: 使い方全般
    返信が含まれるトピック: 特定のパーマリンクにアクセス出来ない

    その後、ググったり検証したりして自分なりに納得できたので
    解決済みとします。

    >スラッグ名「006」が重複してDBをに登録されているのかなと思い
    >「006」完全一致で検索したところ、
    >wp-postmetaテーブルの中で
    >meta_key -> _wp_old_slug
    >meta_value -> 006
    >とヒットしたのでそこを「007」に変更したところリダイレクトされなくなりました。
    上記のように書きましたが
    aaa.com/post-type/007/
    の_wp_old_slugを007にしてしまっているので
    リダイレクトループが発生してしまいました。
    解決方法としてはレコード自体を削除しました。

    DBで_wp_old_slugを検索したところ500件以上レコードがヒットしたので
    全て削除しました。

    以下参考になりました。
    http://d.hatena.ne.jp/deeeki/20100724/wordpress_changed_slug
    http://monoxa.net/2013/09/_wp_old_slug%E3%81%AE%E8%82%A5%E5%A4%A7%E5%8C%96/

    【WordPress】記事URL(スラッグ)を変更しているのに、違う記事が表示される 【_wp_old_slug】

    フォーラム: 使い方全般
    返信が含まれるトピック: 特定のパーマリンクにアクセス出来ない

    tg29359さん

    はい。ほぼ同じ状況でした。
    スラッグ名「006」が重複してDBをに登録されているのかなと思い
    「006」完全一致で検索したところ、
    wp-postmetaテーブルの中で
    meta_key -> _wp_old_slug
    meta_value -> 006
    とヒットしたのでそこを「007」に変更したところリダイレクトされなくなりました。

    恐らく、007の投稿で過去に一度スラッグを006にしてから007編集したのが原因だったようです。

    困った状況は改善できたのですが、
    後学と以下の判定をして知っておきたいのです。

    過去に一度使用したスラッグと現在使用中のスラッグが重複した場合、
    過去に使用したスラッグの投稿が優先されて表示されるのはWPの仕様なのでしょうか?
    それともバグなのでしょうか?

    フォーラム: 使い方全般
    返信が含まれるトピック: MW WP FormにてJSのバリデーションを追加する
    omarioooon

    (@omarioooon)

    var mw_wp_form_button_no_click = true;
        $('.mw_wp_form input[type="submit"]').click(function() {
            var formElement = $(this).closest('form')[0];
            if (formElement && formElement.checkValidity && !formElement.checkValidity()) {
                return;
            }
            if (mw_wp_form_button_no_click) {
                mw_wp_form_button_no_click = false;
            } else {
                $(this).prop('disabled', true);
            }
        });

    この部分の記述で
    2回目以降のクリックを行なう際にsubmitにdisableがついてしまいます。
    恐らく2重送信を防ぐためかなと思うのですが・・。

    wp_dequeue_scriptを使用して、
    JS自体を吐き出さないようにしようかとも思ったのですが、
    https://github.com/inc2734/mw-wp-form/blob/master/js/form.js
    このJSを使わないことによる不具合を恐れています。。。

    フォーラム: 使い方全般
    返信が含まれるトピック: 投稿画面におけるスラッグの表示
    omarioooon

    (@omarioooon)

    mimosafa様

    ありがとう御座いました。
    こちらのフィルターを使用して思っていた通りの実装が可能になりました。

    本当にありがとうございました。

    フォーラム: 使い方全般
    返信が含まれるトピック: 別々のカスタム投稿タイプの関連付けをする

    Advanced Custom Fieldsを使用して双方からリレーションを行なうことが出来ました。

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