[ 解決済 ] Body classを自動付与する際の設定時、特定の条件で Warningエラーが出る

VWSとは フォーラム All in One Expansion Unit [ 解決済 ] Body classを自動付与する際の設定時、特定の条件で Warningエラーが出る

[ 解決済 ] Body classを自動付与する際の設定時、特定の条件で Warningエラーが出る

タグ: 

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

    Y.INABA
    参加者

    ■ WordPress のバージョン
    7.0

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

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

    ■ テーマの種類
    X-T9

    ■ テーマのバージョン
    1.38.0

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

    ■ プラグインの種類・バージョン
    VK All In One Expansion Unit 9.117.1

    ■ 期待する動作
    PHP Warningエラーの解除

    ■ 自分で試した事
    ・Body class付与設定の解除
    ・エラー条件の特定

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

    ■ 実際の症状
    1. Advanced Query Loop などで、複数の投稿タイプを読み込ませる「クエリーループ」を作成する。
    2. その「クエリーループ」ブロックをカテゴリーやタグなどのアーカイブページに配置。
    3. その状態で、ヒット件数「0件」となっているアーカイブページを開く。

    上記3つを全て満たした場合、以下エラーメッセージが表示されます(無対策の場合、body class内にエラーメッセージごと直書きされます)。
    PHP Warning: Array to string conversion in /xxxxxx/wp-content/plugins/vk-all-in-one-expansion-unit/inc/add-body-class.php on line 58

    ■ その他特記事項
    ・PHP 7時点ではNoticeレベルのエラーでしたが、PHP 8以降の段階でWarningレベルに引き上げられたようです。
    ・上記以外にも意図せずして $post_type_info['slug']該当箇所) が配列として取得されているケースがあると予想されます。その場合向けに対策いただく必要があるかと思います。

    #125936

    石川@Vektor,Inc.
    キーマスター
    #125939

    石川@Vektor,Inc.
    キーマスター

    > 1. Advanced Query Loop などで、複数の投稿タイプを読み込ませる「クエリーループ」を作成する。

    クエリーループブロックは Advanced Query Loop を使っても1つの投稿タイプしか選択できないと思いますが、
    対象の投稿タイプの違う複数のクエリーループブロックを配置するという事ですか?

    手元の環境で症状を再現させられていないので、もう少し具体的な設定を記載よろしくお願いいたします。

    #125945

    Y.INABA
    参加者

    ご確認ありがとうございます。

    Advanced Query Loopを入れなくとも、たとえば以下のコードをfunctions.php等に入れた方が早く再現できるかもしれません。
    ※以下の例で言えば、custom側が実際にカテゴリーに対応しているかどうかは関係ありません。

    function my_custom_query( $query ) {
        if ( is_admin() || ! $query->is_main_query() ) {
            return;
        }
        if ( $query->is_category() ) {
            // メインクエリの投稿タイプを配列にする
            $query->set( 'post_type', array( 'post', 'custom' ) ); 
        }
    }
    add_action( 'pre_get_posts', 'my_custom_query' );

    クエリーループブロックは Advanced Query Loop を使っても1つの投稿タイプしか選択できないと思いますが、

    添付箇所から設定可能です(クエリータイプが「デフォルト」ではなく「カスタム」設定時に限り)。
    こちらはこちらでご確認よろしくお願いいたします。

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

    石川@Vektor,Inc.
    キーマスター
    #125959

    石川@Vektor,Inc.
    キーマスター

    おまたせいたしました。
    VK All in One Expansion Unit 9.117.2 で対応いたしました。

    #125966

    Y.INABA
    参加者

    本件、対策されていることを確認いたしました。
    ご対応いただきありがとうございました。

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