タグ付けされた質問 「theme-customizer」

カスタマイザーは、WordPressの変更をステージングするためのフレームワークです。設定は、特定のサイト(オプション、テーマMOD、ウィジェットナビゲーションメニュー、投稿など)のあらゆるものをモデル化し、変更はチェンジセットにバンドルされ、プレビューされ、ドラフトとして保存され、さらにはスケジュールされます。テーマとプラグインは同様にカスタマイザを拡張できます。質問は、PHPとJSのいずれかで、WordPressのカスタマイズAPIに関連して提起される必要があります。

5
WP_Customize_Controlを拡張する方法
ライブプレビューのカスタマイズパネルに新しい種類のコントロールを追加する方法を探しています。を使用してパネルに新しいセクションを追加する方法を見てきました add_action( 'customize_register'... 私が実装したいコントロールは、異なる種類のカラーピッカーです。で前のポスト、私たちは、ウィジェットを追加するためにコアクラスを拡張する方法を見て、しかし、私はここに欠けていると、スコープに私の物を持って来るために私を可能にするフックです- WP_Customize_Palette_Control。で ここでコードの始まりを見ることができます。このコードはfunctions.php私のテーマのファイルにあります。 助けてくれてありがとう。ロブ コードを更新しました。今、私はrequire_onceクラスを持ち込まなければなりません。したがって、PHPエラーはなくなりましたが、新しいコントロールHTMLは表示されません。 <?php require_once( ABSPATH . WPINC . '/class-wp-customize-setting.php' ); require_once( ABSPATH . WPINC . '/class-wp-customize-section.php' ); require_once( ABSPATH . WPINC . '/class-wp-customize-control.php' ); class WP_Customize_Palette_Control extends WP_Customize_Image_Control { public $type = 'palette'; public $removed = ''; public $context; public function enqueue() { //wp_enqueue_script( …

2
設定APIとテーマカスタマイザー
この質問はWordPress Development Stack Exchangeで回答できるため、WordPress Development Meta Stack Exchangeから移行されました。 6年前に移行され ました。 設定APIを使用するのが適切な場合と、テーマカスタマイザーを使用する方が適切な場合はいつですか? 午前中ずっとGoogleで検索してみましたが、この問題に関するよく考えられた最新のガイダンスを見つけることができませんでした。言うのはまだ早いですが、テーマカスタマイザーは、Squarespaceのような編集機能を取り入れるための示唆的な最初のステップだと感じています。テーマカスタマイザーを支持して設定APIを廃止する計画を知っている人はいますか?ゆっくりと進んでいくべきでしょうか、それとも設定APIに固執する方が良いでしょうか?彼らは隣り合って住むことができますか?もしそうなら、責任の分担はどこにありますか?

5
get_option()vs get_theme_mod():なぜ遅いのですか?
私はget_theme_mod()、私のさまざまなプロジェクトでしばらくの間使用しています。WordPress v3.4のテーマカスタマイズAPIは、クライアントが使用するのに不可欠なツールであると判断し、利用可能になった時点で利用することにしました。 しばらくして、私は自分のサイトがいつもよりも少し遅くなっていることに気付き始め、特にカスタマイザーのロードにはかなり長い時間がかかりました。調査中に何度も試行錯誤を繰り返した結果、type設定を登録するときに($wp_customize->add_setting())からtheme_modに切り替えることにしましたoption。 これを実行し、のすべてのget_theme_mod()呼び出しを交換すると、フロントエンドの前者、特にバックエンドのカスタマイザーとは対照的に、後者のセットアップを使用すると速度が非常に大幅に向上するget_option()ことに気付きました。私はこれがなぜなのかという答えを見つけようと努力してWordPressコアを調べてきましたが、このシナリオで特定のハングアップが何であるかを見分けることはできないようです。 コミュニティが非常に高く評価されるget_option()よりもはるかに高速に実行することに関して持つ可能性のある洞察get_theme_mod()。

2
新しいWP_Customize API-内部でどのように機能しますか?
新しい「カスタマイズ」機能で変更を加えた場合、iframeプレビュードキュメント内の別のページに移動すると、変更が保存されていなくても引き続き適用されることに気付きました。 WPは一時的な変更をどこかに保存しているように見え、サイトが「カスタマイズ」モードで表示されている場合、それらをサイトに適用します。 しかし、サイトは、カスタマイズモードにあることをどのように認識しますか?リンクやそのようなものにクエリ引数が追加されていないためです。


1
カスタマイザ設定で選択的リフレッシュを実装するにはどうすればよいですか?
ユーザーがドロップダウンページコントロールを使用してカスタマイザで選択したページに基づいてコンテンツを表示する、テーマのページテンプレートにセクションがあります。現在、標準のデフォルトの更新トランスポートを使用しているだけですが、それはiframe全体をリロードするのがちょっと不格好なので、新しい選択的な更新機能を使用できるかどうか疑問に思っていました。しかし、それを実装する方法がわかりません。これが可能かどうか、そして可能であればそれを行う方法は誰でも知っていますか? コンテンツを表示する私のページテンプレートのコードは次のとおりです。 <?php if ((get_theme_mod( 'intro_page' )) != '') { $intro_id = get_theme_mod( 'intro_page' ); $intro_header = get_the_title( $intro_id ); $intro_excerpt = get_the_excerpt( $intro_id ); $intro_link = get_the_permalink( $intro_id ); $intro_linktext = get_post_meta( $intro_id, 'emm_cta_text', true ); echo '<h1>' . esc_html($intro_header) . '</h1>' . '<p>' . esc_html($intro_excerpt) . '</p>'; if( …

2
カスタマイザJS API
わかりましたので、カスタマイザーのJS APIを使用して動的に新しいパネルセクションとコントロールを作成するように教育しています。 それは数日イライラしていて、JS APIを介してこれを達成する正確な方法を得ることができませんでした。 これまでのところ、これは私がそれを実現するために行っていることですが、成功していません: // for Settings api.create( params.id, params.id, params.default, params.args ); // for controls var controlConstructor = api.controlConstructor[params.type]; var control = new controlConstructor(params.id, { params: params, previewer: api.previewer }); api.control.add( params.id, control ); //for Sections var section = new api.Section(params.id, { params: params }); api.section.add( params.id, section …

2
フロントエンドのプラグインにWordPressアイリスピッカーを実装するにはどうすればよいですか?
この質問ここでは、私は同じ質問をされていますが、充分な答えも私は私が応答を得るかもしれない、より一貫した方法で頼めば期待して再び求めていますので、選択した正解はありませんでした。 色を選択するためのWordpress Theme Customization APIペインに表示されるカラーピッカーホイールを実装しようとしています。フックを使用すると、スクリプトとスタイルのロードは正常に機能しますが、「admin_enqueue_scripts」は機能しますが、フックを使用してフロントエンドでこれらのスクリプトをロードしようとすると、「wp_enqueue_scripts」は機能しません。スタイルはエンキューされますが、スクリプトはエンキューされません。 Wordpressにすでにバンドルされているものと重複するファイルをプラグインにコピーすることを避けたいです。アイリスのカラーピッカーをフロントエンドで動作させる方法が必要です。 そして、なぜこれをしたいのかと思っている人のために、画面の横にフライアウトパネルを追加するプラグインを開発しています。これにより、wp-adminを介してログインしなくても、サイトにリアルタイムの一時的なスタイル変更を加えることができます。パネル。

2
テーマカスタマイザ-設定順序
1つのセクションに5つを超える設定を追加すると、設定の順序がおかしくなります。 例えば: // Link color $wp_customize->add_setting( 'tonal_'.$themeslug.'_settings[link_color1]', array( 'default' => $themeOptions['link_color1'], 'type' => 'option', 'sanitize_callback' => 'sanitize_hex_color', 'capability' => 'edit_theme_options', 'transport' => 'postMessage' ) ); $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'tonal_'.$themeslug.'_settings[link_color1]', array( 'label' => __( 'Link color1', 'tonal' ), 'section' => 'colors', 'settings' => 'tonal_'.$themeslug.'_settings[link_color1]', 'choices' => '#ffffff' ) ) ); …

1
カスタマイザのカスタムイメージセクション
そのため、カスタマイザーにこのカスタムセクションがあり、ホームページのフィーチャー製品を制御します。そこにはすべて登録済みなどがありますが、私が行き詰まっている問題は、クライアントが機能イメージの1つをアップロードしたときに、それを更新する方法がわからないことです。 私が使用しているfunctions.phpコード: // Customiser function themeName_customize_register( $wp_customize ) { $wp_customize->add_setting('feature_product_one', array( 'default-image' => get_template_directory_uri() . '/assest/imgs/featureProducts/product1.png', 'transport' => 'refresh', 'height' => 180, 'width' => 160, )); $wp_customize->add_setting('feature_product_two', array( 'default-image' => get_template_directory_uri() . '/assest/imgs/featureProducts/product1.png', 'transport' => 'refresh', 'height' => 180, 'width' => 160, )); $wp_customize->add_setting('feature_product_three', array( 'default-image' => get_template_directory_uri() . '/assest/imgs/featureProducts/product1.png', …

1
WP Customize JSメソッドを拡張することは可能ですか?
で匿名apiオブジェクトのメソッドを拡張できるかどうか疑問に思っています wp-admin/js/customize-control.js。これらのメソッドの1つを独自のカスタムロジックで上書きする必要がありますが、すぐに呼び出される関数式にラップされているため、それは不可能だと思います。 /* globals _wpCustomizeHeader, _wpMediaViewsL10n */ (function( exports, $ ){ // code })( wp, jQuery ); 私の知る限り、ウィンドウオブジェクトからプロトタイプを拡張することはできませんwindow.wp.customize。これは、匿名で実行され、からは利用できないためです。そのようなことが可能であるかどうか何か考えはありますか?.toggle()メソッドのドキュメント/説明でこれをオーバーライドすることについての言及もあります:https : //github.com/WordPress/WordPress/blob/master/wp-admin/js/customize-controls.js#L110、しかし私はそれらが単にJSファイル全体をフォークし、WPバージョンをデキューして独自のものをエンキューすることによって意味するのか、それとも意味があるのか​​別のものなのかはわかりません。 それは可能であるように見えますが、それはwp.customize.{method}.extend({ foo: // replace method foo here })パブリックベースクラス/オブジェクトにのみ適用され、wp-admin/js/customize-control.js

1
ライブプレビューのカスタマイザフィールドの入力値を取得します
codexに従って、この質問はおそらくそこにあるテーマカスタマイザに関するチュートリアルであり、次のコードでカスタマイザフィールドの値を取得します。 ( function( $ ) { //Update site background color... wp.customize( 'background_color', function( value ) { value.bind( function( newval ) { $('body').css('background-color', newval ); } ); } ); } )( jQuery ); 問題は、変更されたときにその値を取得できることです。 私の質問は、同じコールバックで別のフィールドの値を(まともな方法で)取得する方法です。 例えば ( function( $ ) { //Update site background color... wp.customize( 'background_color', function( value ) { …

1
カスタマイザーのウィジェットを「使い捨て」にすることはできますか(つまり、1つのインスタンスが追加された後に無効化されます)?
私は、カスタムの使い捨てウィジェットを作成するために毎晩クエストをしています。 カスタマイザのサイドバーパネルにそのインスタンスの1つが追加されるとすぐに、[利用可能なウィジェット]パネルのコントロールが無効として表示されます(または、完全に非表示になります)。 これは、次のようになります(右側の視覚的に「無効」なウィジェットに注意してください)。 カスタムウィジェットはすべて登録されていますが、使い捨ての要件に行き詰まっています。 スペック スケールは問題ではありません。登録されているサイドバーを1つだけと仮定しても問題ありません。このアプローチでは、ウィジェットの使用をサイドバーごとに1つ、またはすべての登録済みサイドバーごとに1つに制限することができます。現時点ではどちらも同じように問題ありません。 バックエンドのウィジェットページは問題ありません。これは、バックエンドの[ 外観]の [ ウィジェット]ページで同じように機能する必要はありません。カスタマイザでのみ機能する必要があります。 ご質問 約250年前、すべてのウィジェットは「使い捨て」でした。それらの時代を取り戻し、カスタムウィジェットをWidget APIを介して1回だけ使用する正当な方法を知っている人はいますか? そうでない場合(かなりの量のコアファイルを掘り下げた後で想定しています)、CSSベースのアプローチ(ポインターイベント、疑似要素オーバーレイなど)を使用します。上記のウィジェットのインスタンスが作成されたら、「利用可能な」パネル(右側のパネル)のウィジェットコントロールに専用のCSSクラスを追加/削除する方法に関する基本的なアプローチを使用して、非常に限られたカスタマイザ/ JavaScriptの知識を助けてください。サイドバーパネルに追加/削除されましたか? これまでに試したこと コアファイルのかなりの部分を掘り下げます。 これとこれを読んでください。しかしどちらも実用的ではないようです。 jQueryのイベントに手を加えwidget-added、widget-updated、とwidget-synced、しかし、「ウィジェットを削除」のイベントを欠場。 トンありがとう! 更新:概念実証はまだ公開レポに公開していませんが、もちろん実行します。 解決 以下のクラフトナーが親切に共有したソリューションを、GitHubの概念実証プラグインにラップしました。

1
特定のカスタマイザセクションへのリンク
カスタマイザのセクションがいくつかあるサイトを持っています。ページが読み込まれたときにセクションが開くように、これらに直接リンクする方法はありますか? 何かのようなもの http://mysites.com/wp-admin/customize.php#fonts スクリーンショットhttp://new.tinygrab.com/96412a96d208cf8ff0cf5803327b2d29e0ca68810e.png

1
テーマカスタマイザの「サブ」パネルを作成するにはどうすればよいですか?
WordPress 4.0のクールな新機能の1つはadd_panel()メソッドです。私の状況では、非常に単純なテーマオプションの新しいパネルを作成したいのですが、themオプションパネルの下にサブパネルを作成することは可能です(たとえば、ヘッダー用、本文用、および1つずつ)フッター?もしそうなら、私はそれをどうやってやりますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.