特定のページのみのカスタマイザー設定の作り方

0
いいねをした人: 居ません
  • このトピックには2件の返信、2人の参加者があり、最後にHatsukiにより5年前に更新されました。
3件の投稿を表示中 - 1 - 3件目 (全3件中)
  • 投稿者
    投稿
  • #13646
    Hatsuki
    閲覧者
    6

    【お使いの Snow Monkey のバージョン】v5.6.0
    【お使いのブラウザ】Safari
    【当該サイトのURL】https://not-wiz.net/

    ———-

    どもー(笑)
    ちょっと使い方に関してなんですが、
    例えば、関連記事の最大数を変更したい場合と、記事一覧とは別にスタイルを変更したい場合って
    下記のような形で書けば出来ると思うんですが、

    function _load() {
    	add_filter(
    		'snow_monkey_related_posts_args',
    		[ __CLASS__, '_snow_monkey_related_posts_args' ]
    	);
    	add_filter(
    		'snow_monkey_get_template_part_template-parts/content/related-posts',
    		[ __CLASS__, '_related_posts' ],
    		10,
    		2
    	);
    }
    
    public static function _snow_monkey_related_posts_args( $_args ) {
    	if ( ! isset( $_args[ 'post_type' ] ) || 'post' !== $_args[ 'post_type' ] ) {
    		return $_args;
    	}
    	// 関連記事の最大数の変更
    	$_args[ 'posts_per_page' ] = 3;
    
    	return $_args;
    }
    
    public static function _related_posts( $_name, $_vars ) {
    	ob_start();
    	\Framework\Helper::get_template_part( 'template-parts/content/related-posts' );
    	$_html = ob_get_clean();
    	// 関連記事のスタイルをリッチメディアに変更
    	$_html = mb_ereg_replace(
    		'<ul class="c-entries c-entries--(rich-media|simple|text)">',
    		'<ul class="c-entries c-entries--rich-media">',
    		$_html
    	);
    	echo $_html;
    }

    何か微妙過ぎるやり方ですが、気にせず(笑)
    それで、いちいちフックの中を変えるのも保守的にも微妙だったので、カスタマイザーを拡張しようと思ってます。
    カスタマイザーの値は、これらの部分にget_theme_modで値を取ったのをこれらに上書きするようにすれば出来てはいます。

    ただ、

    アーカイブのカスタマイザー設定みたいに、投稿ページの時のみに該当のカスタマイザーを設定する方法と、
    編集ボタンを押すと、追加しているカスタマイザー設定を表示する(関連記事の項目あたりに出したい)

    ってのが解らないので、その使い方を質問させてください。(本題です)

    rich_media、simple、text以外に項目を増やして、オリジナルスタイルを追加していくとかもカスタマイザー弄れば可能っぽいですが、この辺はあまり触らない方が良かったりしますかね…?

    0
    いいねをした人: 居ません
    #13672
    キタジマ タカシ
    参加者
    2244

    既存のカスタマイザー項目を、ってことじゃなくて、オリジナルのカスタマイザー項目を条件によって出し分けたいということですよね?

    カスタマイザーのセクション or コントロールを定義するときに、 active_callback で表示条件を指定できます。

    rich_media、simple、text以外に項目を増やして、オリジナルスタイルを追加していくとかもカスタマイザー弄れば可能っぽいですが、この辺はあまり触らない方が良かったりしますかね…?

    どうでしょうね、今後 Snow Monkey で種類を増やしたときに被らないような名前にしておけば大丈夫じゃないでしょうか。ただ、 .c-entries は HTML も CSS も複雑なので、Snow Monkey のアップデートのたびに互換性チェックをしないといけないかもしれなく、それはちょっと面倒かもしれません…。

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

    > カスタマイザーのセクション or コントロールを定義するときに、 active_callback で表示条件を指定できます。

    active_callbackで指定って、そう言う事だったのかと。(使い方がイマイチ理解してなかったw
    WP Customizer Frameworkの方のコードももう少し調べてみます。

    ……WP Customizer FrameworkのReadMe、追加で書いていただいても構いませんよ?w

    0
    いいねをした人: 居ません
3件の投稿を表示中 - 1 - 3件目 (全3件中)
  • トピック「特定のページのみのカスタマイザー設定の作り方」には新しい返信をつけることはできません。

ドキュメント

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

ドキュメント

フォーラム

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

サポートフォーラム

よくあるご質問

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

よくあるご質問

お問い合わせ

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

お問い合わせ

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