• 解決済 syun0609

    (@syun0609)


    以下のコードをpatternsフォルダに配置したところ、外観→エディタで認識は確認できたもののプレビュー画像で「想定されていない無効なコンテンツが含まれています。」とエラーが出ます。パターン一覧だけでなく固定ページや個別投稿の編集画面から追加する際の画像も同様です。エディタに挿入したところ「復旧」のダイアログが表示され、「復旧を試みる」を押せばフロントエンドで正常に表示されるものの実用性に乏しい状態です。

    <?php

    /**

     * Title: ヒーローセクション(フルスクリーン背景)

     * Slug: my-theme/hero-section

     * Categories: hero

     * Viewport Width: 1200

     * Block Types: core/group

     * Keywords: ヒーロー, フルスクリーン, キャッチコピー

     * Description: フルスクリーンの背景画像を使用したヒーローセクション

     */

    ?>

    <!-- wp:group {"align":"full","style":{"color":{"background":"#000000"},"spacing":{"padding":{"top":"120px","bottom":"120px"}}},"className":"hero-section","layout":{"type":"constrained"}} -->

    <div class="wp-block-group alignfull hero-section" style="background:#000000;padding-top:120px;padding-bottom:120px">

    <!-- wp:image {"id":1,"sizeSlug":"full","linkDestination":"none"} -->

    <figure class="wp-block-image size-full">

        <img src="http://localhost:10090/wp-content/uploads/2013/03/featured-image-horizontal.jpg" alt="ヒーロー背景"/>

    </figure>

    <!-- /wp:image -->

        <!-- wp:group {"className":"hero-content","layout":{"type":"constrained"}} -->

        <div class="wp-block-group hero-content">

            <!-- wp:heading {"level":1,"style":{"color":{"text":"#ffffff"}}} -->

            <h1 style="color:#ffffff">魅力的なキャッチコピーをここに</h1>

            <!-- /wp:heading -->

            <!-- wp:paragraph {"style":{"color":{"text":"#ffffff"}}} -->

            <p style="color:#ffffff">ここに短い説明を入れます。ユーザーを惹きつけるフレーズを加えると効果的です。</p>

            <!-- /wp:paragraph -->

            <!-- wp:buttons -->

            <div class="wp-block-buttons">

                <!-- wp:button {"backgroundColor":"primary","textColor":"white"} -->

                <div class="wp-block-button"><a class="wp-block-button__link has-white-color has-primary-background-color has-text-color has-background">今すぐ始める</a></div>

                <!-- /wp:button -->

            </div>

            <!-- /wp:buttons -->

        </div>

        <!-- /wp:group -->

    </div>

    <!-- /wp:group -->

    以下の画像のように「復旧を試みる」と同時に現れるメニューボタンをクリックすると現在および変換後のhtmlが表示されますが、修正方法はわかりません。

    ———————————————————–

    現在

    <div class="wp-block-group alignfull hero-section" style="background:#000000;padding-top:120px;padding-bottom:120px"> </div>

    変換後

    <div class="wp-block-group alignfull hero-section" style="background:#000000;padding-top:120px;padding-bottom:120px"> </div>

    動作自体は問題ないことからプレビュー画像のみフロントエンドのスクリーンショットに差し替えようとしましたが、functions.phptheme.jsonにimage-previewプロパティを設定してもうまくいきません。検証ツールで確認するとiframeで読み込まれており、コードが機能しない原因なのかと考えています。pattern内のphpファイルやfunctions.phpに記述することで画像を変更可能な方法を探しています。

    まとめると質問事項は以下の2つです。

    ・ヒーローセクションのパターンをエディタで追加した際「想定していない無効なコンテンツが含まれています」のエラーを消す方法

    ・プレビュー画像を実装時のスクリーンショットに変更する方法

    どなたかご教示いただければ幸いです。宜しくお願いいたします。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • こんにちは。

    ヒーローセクションのパターンをエディタで追加した際「想定していない無効なコンテンツが含まれています」のエラーを消す方法

    これが発生しているという事は、ブロックの HTML マークアップが、実際に出力されているものと異なるためバリデーションエラーが発生していることを一般的に意味します。

    以下が正しいHTMLだと思います。

    <!-- wp:group {"align":"full","style":{"color":{"background":"#000000"},"spacing":{"padding":{"top":"120px","bottom":"120px"}}},"className":"hero-section","layout":{"type":"constrained"}} -->

    <div class="wp-block-group alignfull hero-section has-background" style="background-color:#000000;padding-top:120px;padding-bottom:120px">

    <!-- wp:image {"id":1,"sizeSlug":"full","linkDestination":"none"} -->

    <figure class="wp-block-image size-full">

    <img src="http://localhost:10090/wp-content/uploads/2013/03/featured-image-horizontal.jpg" alt="ヒーロー背景"/>

    </figure>

    <!-- /wp:image -->

    <!-- wp:group {"className":"hero-content","layout":{"type":"constrained"}} -->

    <div class="wp-block-group hero-content">

    <!-- wp:heading {"level":1,"style":{"color":{"text":"#ffffff"}}} -->

    <h1 class="wp-block-heading has-text-color"style="color:#ffffff">魅力的なキャッチコピーをここに</h1>

    <!-- /wp:heading -->

    <!-- wp:paragraph {"style":{"color":{"text":"#ffffff"}}} -->

    <p style="color:#ffffff">ここに短い説明を入れます。ユーザーを惹きつけるフレーズを加えると効果的です。</p>

    <!-- /wp:paragraph -->

    <!-- wp:buttons -->

    <div class="wp-block-buttons">

    <!-- wp:button {"backgroundColor":"primary","textColor":"white"} -->

    <div class="wp-block-button"><a class="wp-block-button__link has-white-color has-primary-background-color has-text-color has-background">今すぐ始める</a></div>

    <!-- /wp:button -->

    </div>

    <!-- /wp:buttons -->

    </div>

    <!-- /wp:group -->

    </div>

    <!-- /wp:group -->

    変更した点は2点です。

    • トップ階層のグループブロックについて、has-background CSS クラスを追加し、インラインスタイルを background から background-color に変更
    • 見出しに wp-block-heading has-text-color CSS クラスを追加

    また、画像のソースにドメイン・プロトコル・ポートをハードコーディングする事はお勧めしません。一般的には、テーマにその画像ファイルを含めて、get_template_directory_uri を使って以下のように記述します。これによって、このパターンがどの WordPress サイトで使用された時でも、正しく画像を参照できるはずです。

    また、そのパターンを翻訳可能にするには、alt 属性は esc_attr_e で出力します。

    <!-- wp:image {"sizeSlug":"full","linkDestination":"none"} -->
    <figure class="wp-block-image size-full">
    <img src="<?php echo esc_url( get_template_directory_uri() ); ?>/assets/images/featured-image-horizontal" alt="<?php esc_attr_e( 'ヒーロー背景', 'yourthemeslug' ); ?>"/>
    </figure>
    <!-- /wp:image -->
    トピック投稿者 syun0609

    (@syun0609)

    ご回答ありがとうございました。教えられたとおりのコードを記載したところ、エラーが消え、問題が解消しました。インラインスタイルにbackgroundではなくbackground-colorが、見出しタグにはwp-block-heading has-text-colorクラスが必要というルールも把握しました。

    追加で一つお聞きしたいのですが、バリデーション時にエラーが出ない正しいコーディング記法を記載したドキュメントや公式の情報はあるのでしょうか。同様の問題が発生したとき、何度も質問せず自分一人で解決できれば良いと考えています。

    モデレーター まーちゅう

    (@rocketmartue)

    こんにちは。

    @syun0609 さん、問題が解決したのならこのトピックは解決済みにして、追加の質問は分かりやすいタイトルを付けて別のトピックを立てた方が回答が付きやすいと思います。

    トピック投稿者 syun0609

    (@syun0609)

    ご指摘ありがとうございます。あなたのサポートは、私が次なる効果的な打ち手を講じることを手助けしたでしょう。

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