web-dev-qa-db-ja.com

Theme Customizerのプレビューでカテゴリを表示する

テーマカスタマイザが色やサイズなどを変更するテーマを作成しています。また、カテゴリとそのカテゴリを具体的に選択するオプションもあります。

デフォルトで表示されるデフォルトのホーム/フロントページの代わりに、どのようにしてそのカテゴリをプレビューに表示することができますか(ユーザーが対応するオプションを変更している場合のみ)。

編集

私は customize_preview_init でプレビューウィンドウにアクセスできますが、 wp_redirect を適用することはできません。

3
Alvaro

私はこの解決策になった:

テーマプレビューでのみフックを含む追加ファイルを要求する

function mytheme_customizer_live_preview() {
    require_once('library/preview.php');
}
add_action( 'customize_preview_init', 'mytheme_customizer_live_preview' );

2.私がしなければならなかったのは、私が通常ページで行うのと同じようにクエリを修正することです、それでちょうどプレビュー(preview.phpの中)でそれをします:

function modify_query($query) {

    $category = get_theme_mod( 'mytheme' )['categories'][0];

    $query->set('cat', $category);

    return $query;

}
add_filter('pre_get_posts', 'modify_query', 10);
0
Alvaro

あなたが正しく目標を理解しているならば、それからあなたはカスタマイザの中で選択をするでしょう、そこにカテゴリーをリストしてください、そして、ユーザーはあなたのテーマ設定でセーブするためにこれを使うことができます。

カテゴリのカスタマイザを拡張する場合は、このリポジトリから このクラス を使用してください。ファイルをインクルードし、デフォルトクラスを強化します。あなたは簡単にインストールのカテゴリの選択を実装することができます。このリポジトリの readme の中にGistへのリンクが2つあります。私はカスタマイザのためのすべての拡張について明確で同じ方法だと思います。

1
bueltge

ライブプレビューでのみアクティブにするJavaScriptを追加してリダイレクトするだけです。 http://www.jquery4u.com/snippets/jquery-redirect-web-page/

高度な解決策として、wp.customizeを使用して非同期に機能するjs関数を作成できます。あなたは私のテーマを調べることができます http://theme.firmasite.com/ 使用例。

0
Ünsal Korkmaz

テーマカスタマイザプレビューアを通してサイトを見ている間に、ユーザにものを見せるために私が使用したアプローチは次のとおりです。

global $wp_customize;
if( is_user_logged_in() && isset($wp_customize) ) {
  // Show "categories" or things in the Customizer Previewer only
}

テンプレートはもう少し面倒になりますが、おそらくお気づきかもしれませんが、テーマカスタマイザに関するドキュメントや開発はあまりありません。

0
jkhedani