ヘッダーコンテンツ用テンプレートをフックで変更するとヘッダーコンテンツが2つ出力される

0
いいねをした人: 居ません
6件の投稿を表示中 - 1 - 6件目 (全6件中)
  • 投稿者
    投稿
  • #12893
    Kumai Kazuyuki
    参加者
    22

    【お使いの Snow Monkey のバージョン】v5.4.8
    【お使いのブラウザ】Chrome 72.0.3626.121
    【当該サイトのURL】(制作中・発表前につき非公開)


    ヘッダーコンテンツを出力するテンプレート、 template-parts/header/content.php を少し変更したくて、プラグインで snow_monkey_get_template_part_template-parts/header/content を利用して書き換えを試みたところ、ヘッダーコンテンツが重複して出力されます。

    具体的には、本来の位置のほかに、 <div class="l-contents" role="document"> の直下にも出力されます。「モバイルでもヘッダーコンテンツを表示」がオンでもオフでも同じでした。

    content.php の中身を変えずに、そのまま下記のようにしてみても同様でした。

    add_filter(
        'snow_monkey_get_template_part_template-parts/header/content',
        function( $name, $vars ) {
    
            $header_content = get_theme_mod( 'header-content' );
            if ( ! $header_content ) {
                return;
            }
            ?>
            <div id="js-selective-refresh-header-content">
                <?php echo wp_kses_post( $header_content ); ?>
            </div>
            <?php
        },
        10, 2 
    );
    0
    いいねをした人: 居ません
    #12895
    Hatsuki
    閲覧者
    6

    横からすみませんー。
    このトピックのおかげで、こちらも2重で出ていることに気づけました。。。

    ヘッダが2つ

    相当の横幅じゃないと出ないので、一応SS貼っておきます。
    多分、こう言う事かなーと思ったので…(^^;
    元々のヘッダーコンテンツがメニュー横に表示されている方です。

    私も以前にフックを試していて、サイトの説明とかの表示などのカスタマイザーで設定すると、
    ヘッダーコンテンツ用テンプレートだけのフックでは予想しない所に表示をする時もあるようです。
    ヘッダーのスタイル(オーバーレイ、固定、シンプル)などのカスタマイザーの時で、それぞれ検証が必要そうな気もしています。

    0
    いいねをした人: 居ません
    #12909
    アバター画像キタジマ タカシ
    参加者
    2421

    「出力」というのが画面への表示ではなく、HTML としての出力ということを指すのでしたら、それは仕様となります。

    PC とモバイルでどうしても HTML の共通化をおこなうことができなかったので、HTML 的には PC 用とモバイル用の2箇所にヘッダーコンテンツを出力し、 .p-header-content--lg.p-header-content--sm という CSS でブラウザの横幅に応じて表示/非表示を切り替えています。

    画面上に両方共見えてしまうということであればバグですね…。

    倉本さんのスクショをみると両方共でちゃってるようなのですが、設定の組み合わせなど教えてもらってもいいでしょうか…?

    0
    いいねをした人: 居ません
    #12925
    Kumai Kazuyuki
    参加者
    22

    あ、なるほど、そういうことですか。
    いったん元に戻してHTMLソースを見たら、確かにそうなっています。

    いきなり snow_monkey_get_template_part_template-parts/header/content フックを使うと、content–lg や content–sm が吹っ飛んでいきなりヘッダーコンテンツが出力されてしまうため、両方見える状態になってしまうのですね。

    snow_monkey_get_template_part_template-parts/header/content--lg と、
    snow_monkey_get_template_part_template-parts/header/content--sm の 2つのフックを使って変更するようにしたら期待どおりになりました。

    お騒がせしました。

    0
    いいねをした人: 居ません
    #12938
    Hatsuki
    閲覧者
    6

    倉本さんのスクショをみると両方共でちゃってるようなのですが、設定の組み合わせなど教えてもらってもいいでしょうか…?

    念のために共有いたしますね。

    ヘッダーレイアウト > シンプル
    ヘッダー位置 > 固定
    ヘッダー位置設定をモバイルのみに適用 > オフ(チェックを外す)
    ヘッダーコンテンツ > ヘッダーコンテンツと言う文字列をテストで記述
    モバイルでもヘッダーコンテンツを表示 > オン(チェック)

    です。
    その形だと、トピックの書いてあるフックの場合は、メニュー下部に2重で出てしまいます。

    0
    いいねをした人: 居ません
    #12942
    アバター画像キタジマ タカシ
    参加者
    2421

    あーそうかわかりました。

    ヘッダーコンテンツは get_template_part( '.../content', 'lg' )get_template_part( '.../content', 'sm' ) で呼び出し、それぞれの内部で get_template_part( '.../content' ) が呼び出されるという仕組みなのですが、 snow_monkey_get_template_part_template-parts/header/content だと第2引数関係なく全部書き変わっちゃうので、コールバック関数の中で '' === $name みたいにして分岐させないとダメですね。僕もよくわかってませんでした…。

    ということでトピック閉じます!

    0
    いいねをした人: 居ません
6件の投稿を表示中 - 1 - 6件目 (全6件中)
  • トピック「ヘッダーコンテンツ用テンプレートをフックで変更するとヘッダーコンテンツが2つ出力される」には新しい返信をつけることはできません。

ドキュメント

Snow Monkey の設定方法やマニュアルを掲載しています。

ドキュメント

フォーラム

Snow Monkey の使い方やカスタマイズについてのご質問・ご要望等はサポートフォーラムで行っています。サポートフォーラムは誰でも閲覧できますが、書き込みできるのは Snow Monkey 購入者のみとなります。

サポートフォーラム

よくあるご質問

Snow Monkey のサービスについて不明な点がある場合は、まずはよくあるご質問をご確認ください。

よくあるご質問

お問い合わせ

よくあるご質問を見ても解決しなかった場合、試用版の申請については問い合わせフォームからお願いいたします。

お問い合わせ

Snow Monkey は Gutenberg ブロックエディターに対応した 100%GPL の WordPress テーマです。拡張性を意識した開発をおこなっており、カスタマイザーとブロックでスピーディーにサイトを立ち上げるだけでなく、CSS やフックを駆使した高度なカスタマイズにも柔軟に対応できます。