[ 解決済 ] パターン内のショートコードが動作しません

VWSとは フォーラム X-T9 [ 解決済 ] パターン内のショートコードが動作しません

[ 解決済 ] パターン内のショートコードが動作しません

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

    Peace
    参加者
    制作実績

    ■ WordPress のバージョン
    7.0.2

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

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

    ■ テーマの種類
    X-T9

    ■ テーマのバージョン
    1.41.7

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

    ■ 期待する動作
    パターン内にAutomatic YouTube Galleryのショートコードを利用してYouTubeの最新動画をトップページに表示させようとしています。
    トップページは固定ページ内は空でテンプレートで編集しています。

    ■ 自分で試した事
    パターン内にショートコードを入れず、パターンで作成したものをそのまま固定ページにコピーするとYouTubeの最新動画が表示されます。

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

    ■ 実際の症状
    パターン内のショートコードが、そのままショートコードが表示されます。
    パターン内のショートコードが動作して、YouTubeの最新動画が表示されることが期待される動作です。

    #129602

    うなこ
    モデレーター

    Peaceさま

    ご報告いただきありがとうございます。

    こちらでも確認したところ、これはX-T9固有の不具合ではなく、WordPress自体の仕様(サイトエディターのテンプレート機能の処理順序)による挙動であることがわかりました。

    ブロックエディターの「パターン」を固定ページの本文に直接使った場合と、サイトエディターの「テンプレート」経由で呼び出した場合とで、内部的に「パターンを展開する処理」と「ショートコードを実行する処理」の順番が入れ替わってしまいます。

    テンプレート経由で表示した場合は、パターンの中身が展開される前にショートコードの実行処理が先に終わってしまうため、パターンの中に隠れていたショートコードが実行されずに、そのまま文字列として表示されてしまう、という仕組みです。

    そのため、

    • パターンをテンプレート側で呼び出す → ショートコードが実行されない
    • パターンの中身を固定ページの本文に直接貼り付ける → ショートコードが正常に実行される

    という結果になります。これはX-T9に限らず、他のブロックテーマでも同様の挙動になるためWordPress本体側の仕様に近いものとご理解いただけますと幸いです。

    今回のケースではトップページのコンテンツはテンプレートではなく固定ページの本文側に直接記載いただく形を回避策としてご案内させていただきます。

    もしどうしてもテンプレート側でパターンを使う形を維持したい場合は、コードを追加することで対応できる可能性もございます(未検証です)。

    #129604

    Peace
    参加者
    制作実績

    > 今回のケースではトップページのコンテンツはテンプレートではなく固定ページの本文側に直接記載いただく形を回避策としてご案内させていただきます。

    ありがとうございます。
    ひとまず、トップページの固定ページにショートコードを入れることで回避しました。

    > もしどうしてもテンプレート側でパターンを使う形を維持したい場合は、コードを追加することで対応できる可能性もございます(未検証です)。
    トップページについては、パターン側で作る形にしています。
    方法のすべてではなくても、どうすればできる可能性があるかのヒントだけでもいただくことはできないでしょうか?
    トップページの別々の場所に不空のショートコードを挿入するような場合に、パターン内で完結した方が助かります。

    ご検討をお願いいたします。

    #129605

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

    パターン内のショートコードの動作の仕様の問題は弊社の対応できる範囲ではありませんが、
    “パターン” にしたいブロックを固定ページ内に配置し、その固定ページの内容を VK Blocks の「固定ページ本文」ブロックで配置すれば効くと思います。
    ただし、該当の固定ページに関しては、編集画面の ExUnit の設定から noindex と HTML サイトマップに含めない指定をしておいてください。

    #129606

    Peace
    参加者
    制作実績

    .“パターン” にしたいブロックを固定ページ内に配置し、その固定ページの内容を VK Blocks の「固定ページ本文」ブロックで配置すれば効くと思います。

    ありがとうございます1
    固定ページ自体をパターンとして利用する方法、わかりそうで思いついていませんでした。
    動作検証は夜になりますが、現状は1つのショートコードだけなので、検証して、もしも動作しなかった場合でも、トップページの固定ページ内にショートコードの配置をすることで当面は解決できそうです。

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

    #129608

    Y.INABA
    参加者

    横からすみません。

    もしExUnit内機能ということであれば、「CTAブロック」をご利用いただくことによっても解決可能でございます。
    パターンであれば、うなこ様がおっしゃる通りショートコードがコード文ままで出てきますが、「CTAブロック」だと予めショートコードが意図通り描画された状態で表示されます。

    また、VK Blocks Proの固定ページ埋め込みでは仕様上固定ページを公開する必要があるのですが(そのため、石川様がおっしゃる「noindex化への変更」が必要となります)、どうしても公開したくない場合には「CTAブロック」をご検討いただけますと幸いです。

    #129611

    Peace
    参加者
    制作実績

    Y.INABA様、ありがとうございます。
    CTAブロックを使うこと、想像もしていませんでした。
    試してみます。

    #129633

    Peace
    参加者
    制作実績

    Y.INABA様、確認が遅くなり、申し訳ありません。
    やっとCTAブロックを利用した場合の確認ができました。
    CTAブロックをパターンの代わりに利用すると、ショートコードも期待通りに表示できました。
    ありがとうございます。

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