[ 質問者返信待ち ] パーマリンクについて

VWSとは フォーラム Lightning [ 質問者返信待ち ] パーマリンクについて

[ 質問者返信待ち ] パーマリンクについて

  • このトピックには6件の返信、2人の参加者があり、最後にgundamにより3ヶ月前に更新されました。
7件の投稿を表示中 - 1 - 7件目 (全7件中)
  • 投稿者
    投稿
  • #100269

    gundam
    参加者

    ■ WordPress のバージョン
    6.6.1

    ■ テーマ・プラグインは全て最新版で確認してください。
    確認しました。

    ■ 子テーマをご利用の場合は親テーマに変更して症状が改善するか確認してください。
    確認しました。

    ■ テーマの種類
    Lightning ( G3 ) + Lightning G3 Pro Unit

    ■ テーマのバージョン
    15.26.2

    ■ Pro Unit のバージョン
    0.26.8

    ■ スキンの種類
    Origin III

    ■ 関連しそうなプラグインを一つずつ停止して症状が改善するか確認してください。
    確認しました。

    ■ 期待する動作
    以前までは、問題なく表示されていたのですが、おそらく、テーマの更新か、ワードプレスの更新によって生じたと思われます。
    パーマリンクを設定する上でプラグイン「Custom Post Type Permalinks」を使用しています。
    woocommerceで配送の配送クラスを「大型配送」に変更したものだけが下記のエラーメッセージが出ます。
    配送クラスなしに指定した場合はエラーでません。

    勝手な推測ですが、テーマの更新によって、行われているのかなと思います。

    Warning: Trying to access array offset on false in /Users/・・・・/wp-content/plugins/custom-post-type-permalinks/CPTP/Module/Permalink.php on line 417

    Call Stack
    ここの一覧でlightningのものがほとんどなのでテーマなのかと思った次第であります。
    以上、よろしくお願いいたします。

    ■ 自分で試した事
    配送方法を変更してみました。

    ■ 症状が発生するブラウザ
    safari

    ■ 実際の症状
    配送方法の変更によってエラーがでる。

    Attachments:
    You must be logged in to view attached files.
    #100271

    Custom Post Type Permalinks を停止したらエラーは表示されなくなるのでしょうか?

    #100272

    gundam
    参加者

    Custom Post Type Permalinksは、停止していません。
    停止すると、ページが見つかりませんになるからです。
    ※Custom Post Type Permalinks こちらの停止に関しては、phpやら見直さないといけないので行っていません。

    woocommerceで配送の配送クラスを「配送クラスなし」にするとエラーは出ないです。大型配送の時だけでます。

    #100276

    Custom Post Type Permalinksは、停止していません。
    停止すると、ページが見つかりませんになるからです。

    → 停止した上で 設定 > パーマリンク設定を保存しなおしても 「ページが見つかりません」になりますか?

    ※ パーマリンクの改変はトラブルの元になるため、Custom Post Type Permalinks の作者自身もよっぽど詳しい人じゃなければやるべきじゃないと言ってます。

    今回発生しているエラーが

    * パーマリンクの指定方法に無理があるために Lightning 側が処理できない状態に陥っている
    * パーマリンクを改変するために .php を改変しており、それが原因で Lightning 側が処理できない状態に陥っている

    という可能性が考えられます。

    まずは、Custom Post Type Permalinks 停止した状態で、
    設定 > パーマリンクを保存 し、
    個別のPHPのカスタマイズが効かないようにした状態で発生する現象なのかどうか確認よろしくお願いいたします。

    #100281

    gundam
    参加者

    石川様
    Custom Post Type Permalinksを停止することにより
    配送クラス、大型配送にしても、エラーは表示されませんでした。
    Custom Post Type Permalinksもできることなら使いたくはなかったのですが、
    パンクズ等の階層やカテゴリー名のことを考えて結局
    Custom Post Type Permalinksを導入していたのですが・・・

    停止するとなると、今まで構築していたカスタム投稿のgoogleインデックスが変更になる事を考えると、停止には、中々至れないのかなっても思ってしまいます。

    実際はfunctions.phpには、下記のように設定しております。
    `//パーマリンクから[product_cat]タクソノミー名を削除
    function my_custom_post_type_woo_permalinks_set($termlink, $term, $taxonomy)
    {
    return str_replace(‘/’ . $taxonomy . ‘/’, ‘/’, $termlink);
    }
    add_filter(‘term_link’, ‘my_custom_post_type_woo_permalinks_set’, 11, 3);

    //カスタムタクソノミーアーカイブ用のリライトルールを追加 ページ送り時もリライト
    add_rewrite_rule(‘product/([^/]+)/?$’, ‘index.php?product_cat=$matches[1]’, ‘top’);
    add_rewrite_rule(‘product/([^/]+)/page/([0-9]+)/?$’, ‘index.php?product_cat=$matches[1]&paged=$matches[2]’, ‘top’);

    あとは、特段いじってはいないです。

    * パーマリンクの指定方法に無理があるために Lightning 側が処理できない状態に陥っている
    * パーマリンクを改変するために .php を改変しており、それが原因で Lightning 側が処理できない状態に陥っている

    上記コードが、そういうことになるのでしょうか?

    #100291

    停止するとなると、今まで構築していたカスタム投稿のgoogleインデックスが変更になる事を考えると、停止には、中々至れないのかなっても思ってしまいます。

    URLが変更になっても Googleのインデックスは 301リダイレクトを設定すれば問題ありません。
    プラグイン Redirection などで設定できます。

    //パーマリンクから[product_cat]タクソノミー名を削除
    function my_custom_post_type_woo_permalinks_set($termlink, $term, $taxonomy)
    {
    return str_replace(‘/’ . $taxonomy . ‘/’, ‘/’, $termlink);
    }
    add_filter(‘term_link’, ‘my_custom_post_type_woo_permalinks_set’, 11, 3);

    そうですね…タクソノミー名を削除する事で、該当のタームが本当にユーザーが意図したタクソノミーのタームかが判別できなくなります。
    Lightning のパンくずリストがタクソノミーを判別する事ができなくなったりしてエラーになっているように見えます。
    同様の不具合をWordPress自体や他のプラグインでも引き起こす原因となりますので、
    PHPでURLからタクソノミー名を削除するカスタマイズは本当に可能な限り避けた方が良いです。
    将来的にずっとパーマリンクに起因する不具合のリスクを抱える事になってしまいます。

    今回パーマリンクを変更したい理由については301リダイレクトで解消できると思いますので、
    リダイレクト設定での対応をご検討くださいませ。

    #100295

    gundam
    参加者

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

    そもそも、パンくずと階層を合わせたいと言う理由(woocommerce、カスタム投稿)で
    パーマリンク変更を行っていたのです。prodactとかもいらなかったので。

    リダイレクトちょっと試してみたいと思います。

    しかし、リダイレクトで設定した場合は、やはり、prodactって、パンくずには表記されるのですよね?
    階層自体をprodactとかを含めるようにしないといけない感じになるって事ですかね?

    リダイレクトで飛ばしても、パンくずには残るって事ですかね?
    とりあえず、いじってみたいと思います。

7件の投稿を表示中 - 1 - 7件目 (全7件中)
  • このトピックに返信するにはログインが必要です。