サポート » 使い方全般 » テーマカスタマイザーのライブプレビューとlocation.href

  • akatsu

    (@akatsu)


    質問させていただきます。

    現在作成しているサイトに横幅を判定して、一度location.hrefをかませるという挙動をするページがあるのですが
    ライブプレビューの際にこのページを表示するとフレームの内側にいれられたことを横幅の変更と判断するのか、無限に更新されてしまい、ライブプレビューのサイドバーが増えていってしまいます。

    解決方法をいくつか考えたのですが
    まず、フレームと推定してtop.location.hrefにしてみたのですが
    それも、サイドバーは増えないものの、無限に更新されてしまう、という状況がかわらず、途方にくれています。

    ・is_○○など、「ライブプレビュー状態」を判定する方法
    または
    ・ライブプレビューの機能を仕様させない方法
     (remove_submenu_page(‘themes.php’, ‘customize.php’);では削除できませんでした)

    が取りたいのですが、どなたかお力をおかしいただけないでしょうか。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • kjmtsh

    (@kjmtsh)

    is_customize_preview() というのがありますが、どうでしょう? 自分で試してないので、どうかわかりませんが。

    nobita

    (@nobita)

    こんにちは、

    よくわかっていないので、あてにならないかもしれないですが、カスタマイザーは、デフォルトでは、ウィンドウをリフレッシュするので、リフレッシュさせない(javascriptに任せる?)
    やり方もあるみたいです。

    $wp_customize->add_setting(....
    'transport'         => 'postMessage',

    たぶんデフォルトだと

    $wp_customize->add_setting(....
    'transport'            => 'refresh',

    あと、表示しているページのコントロールと関係しそうな

    'active_callback' => 'is_front_page',

    等もあるみたいです。

    Customizer Improvements in 4.0

    Theme_Customization_API

    nobita

    (@nobita)

    そういえば、以下のような感じで、カスタマイザーのページの場合は、スクリプトなどの挙動が変更できました。

    global $wp_customize;
    
    if ( ! isset( $wp_customize )  ) {
    
    }
3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「テーマカスタマイザーのライブプレビューとlocation.href」には新たに返信することはできません。