メインコンテンツへ移動

Search results of "snow_monkey_get_template_part_args"

15件の結果を表示中 - 106 - 120件目 (全121件中)
  • 投稿者
    検索結果
  • #56660
    Kmical Lights
    閲覧者
    235

    v11.0以降は

    add_filter(
    'snow_monkey_get_template_part_args_template-parts/header/hamburger-btn',
    function ( $args ) {
    	$args['vars']['_label'] = '変更したい文字列';
    	return $args;
    },
    10,
    3
    );

    になりました。

    3
    Who liked:
    #56051
    アバター画像キタジマ タカシ
    参加者
    2586

    上記ページのコードの「post」と「category」の部分を変更すればできるかなと思います。ほとんど同じですがサンプルコードを書いてみました。ご自身の環境にあわせて投稿タイプ名の部分とカスタムタクソノミー名の部分を書き換えて試してみてください!

    add_filter(
    	'snow_monkey_get_template_part_args',
    	function( $args ) {
    		// 記事一覧カテゴリー以外のテンプレートの場合は無視
    		if ( 'template-parts/loop/entry-summary/term/term' !== $args['slug'] ) {
    			return $args;
    		}
    
    		// ターゲットにしたいカスタム投稿名を指定(この例では「news」)
    		if ( 'news' !== $args['name'] ) {
    			return $args;
    		}
    
    		// 表示したいカスタムタクソノミー名を指定(この例では「news_category」)
    		$args['vars']['_terms'] = get_the_terms( get_the_ID(), 'news_category' );
    
    		return $args;
    	}
    );
    3
    Who liked: No user
    アバター画像キタジマ タカシ
    参加者
    2586

    下記に差し替えて試してみてください!

    add_filter(
    	'snow_monkey_get_template_part_args',
    	function( $args ) {
    		if ( 'template-parts/loop/entry-summary/term/term' === $args['slug'] && 'post' === $args['name'] ) { // 'post' の部分は投稿タイプ名
    			$_terms = get_the_terms( get_the_ID(), 'category' ); // タクソノミー名を指定
    			if ( $_terms ) {
    				$term = null;
    				foreach ( $_terms as $_term ) {
    					if ( 2 === $_term->parent ) { // 対象にしたい親カテゴリーの ID を指定
    						$term = $_term;
    						break;
    					}
    				}
    				if ( $term ) {
    					$args['vars']['_terms'] = [ $term ];
    				}
    			}
    		}
    		return $args;
    	}
    );
    0
    Who liked: No user
    アバター画像キタジマ タカシ
    参加者
    2586

    このカテゴリーラベルは、その投稿に紐付いた(カテゴリーを含む)タクソノミーとそのタームを一括取得して、1つめのタームを表示するようになっています。取得順は特に指定していないので、おそらく ABC 順とかになるんじゃないかと思います。

    下記のコードを My Snow Monkey プラグインか子テーマの functions.php に貼り付けてみてください。

    add_filter(
    	'snow_monkey_get_template_part_args',
    	function( $args ) {
    		if ( 'template-parts/loop/entry-summary/term/term' === $args['slug'] && 'post' === $args['name'] ) { // 'post' の部分は投稿タイプ名
    			$_terms = get_the_terms( get_the_ID(), 'category' ); // タクソノミー名を指定
    			if ( $_terms ) {
    				$args['vars']['_terms'] = [ $_terms[0] ];
    			}
    		}
    		return $args;
    	}
    );

    上記は投稿タイプが「post(投稿)」のときに、カテゴリーラベルを「category」に限定するコードです。「post」の部分を任意の投稿タイプ名、「category」のところを任意のタクソノミー名に変更して試してみてください。

    0
    Who liked: No user
    #53541

    返信が含まれるトピック: snow_monkey_get_template_partの非推奨について

    アバター画像キタジマ タカシ
    参加者
    2586

    snow_monkey_get_template_part_args は大丈夫です! 非推奨化したのは snow_monkey_get_template_part_テンプレートスラッグ なフックですね。表記がわかりにかったですね、すみません!

    1
    Who liked: No user
    #52189
    アバター画像キタジマ タカシ
    参加者
    2586

    v10.8.0 でテンプレートにレイアウト変更のための変数を追加しました! こんな感じでカスタマイズできるようになりました。

    add_filter(
    	'snow_monkey_get_template_part_args',
    	function( $args ) {
    		if ( 'template-parts/archive/entry/content/content' === $args['slug'] ) {
    			if ( is_home() || is_category() || 'news' === $args['name'] ) {
    				$args['vars']['_entries_layout'] = 'text';
    			} else {
    				$args['vars']['_entries_layout'] = 'simple';
    			}
    		}
    		return $args;
    	}
    );

    $args['name'] には投稿タイプ名、searchno-matchnone のいずれかが入ってきます。

    5
    Who liked: No user
    #52104
    アバター画像キタジマ タカシ
    参加者
    2586

    こういうのは snow_monkey_get_template_part_args でやるのが良さそうと思ったのですが、.c-entries に仕込みをしていませんでした…。(後のアップデートで追加できそうかは検討します)

    ということで、やるなら theme_mod を書き換える感じですかね。

    add_filter(
    	'theme_mod_<post type>-entries-layout',
    	function( $mod ) {
    		return 'simple';
    	},
    	11
    );

    simple にしたいカスタム投稿タイプが news だったとしたら theme_mod_news-entries-layout がフック名となります。

    フックを使わなくてもカスタマイザーからでも設定できるので、そっちでも良いかもです。

    4
    Who liked: No user
    #52022
    アバター画像キタジマ タカシ
    参加者
    2586

    良かったです!

    アップデート後もコードは必要になりはするのですが、先のコードだと一度画像を取得した後に新しい画像に上書きしているのを、アップデート後だと指定したサイズの画像だけを取得して表示するようになります。まだ作業中ですが、Snow Monkey v10.7.0 にアップデート後は下記のコードに差し替えてください!

    add_filter(
    	'snow_monkey_get_template_part_args',
    	function( $args ) {
    		if ( 'template-parts/loop/entry-summary/figure/figure' === $args['slug'] ) {
    			$args['vars']['_thumbnail_size'] = 'thumbnail';
    			return $args;
    		}
    		return $args;
    	}
    );
    2
    Who liked: No user
    アバター画像キタジマ タカシ
    参加者
    2586

    ありがとうございます!!

    My Snow Monkey に下記のコードを貼り付けてみてください。

    add_filter(
    	'snow_monkey_get_template_part_args',
    	function( $args ) {
    		if ( 'template-parts/loop/entry-summary/figure/figure' === $args['slug'] && 'dcsworks' === $args['name'] ) {
    			$args['name'] = 'post';
    		}
    		return $args;
    	}
    );

    v9.0.6 で「最近の投稿ブロック」「任意のタクソノミーの投稿」ブロックにもカテゴリーラベルが表示されるように変更をいれました。これはつまり「カスタマイザー → デザイン → 施工例アーカイブページ設定 → ビューテンプレート」の設定が「最近の投稿ブロック」「任意のタクソノミーの投稿」ブロックにも反映されるようになる、というものなので、ビューテンプレートがデフォルトの場合はカテゴリーラベルが表示されないということになります(投稿のビューテンプレートの場合は表示される)。これを投稿のビューテンプレートを使ったかのようにサムネイル部分のテンプレートを差し替えるのが上記のコードになります。

    アップデート前は表示されていたというのがちょっとなぜかよくわからないのですが、多分これで解決できると思います。試してみてください…!

    0
    Who liked: No user
    アバター画像キタジマ タカシ
    参加者
    2586
    add_filter(
    	'snow_monkey_get_template_part_args',
    	function( $args ) {
    		// 任意のタクソノミーの投稿ブロックの場合
    		if ( 'template-parts/widget/snow-monkey-posts' === $args['slug'] && 'taxonomy' === $args['name'] ) {
    			// タクソノミー hoge の場合
    			$query = $args['vars']['_posts_query'];
    			if ( isset( $query->tax_query->queries[0]['taxonomy'] ) && 'hoge' === $query->tax_query->queries[0]['taxonomy'] ) {
    				// name を example に差し替え
    				$args['name'] = 'example';
    			}
    		}
    		return $args;
    	}
    );

    とすることで、タクソノミーが hoge の「任意のタクソノミーの投稿」ブロックを読み込む場合に snow-monkey-posts-exampleはtemplate-parts/widget/snow-monkey-posts-example.php があればそれを、なければ snow-monkey-posts-exampleはtemplate-parts/widget/snow-monkey-posts.php を読み込むようになります。試してみてください!(ならなかったら再度見直します…!

    0
    Who liked: No user
    アバター画像キタジマ タカシ
    参加者
    2586

    これ、意外に良い方法がないことに気付きました…。

    とりあえずこんな感じで試してみてください!

    /**
     * カスタム投稿タイプ news の一覧で、画像表示部分を post のものに差し替え(= 画像とカテゴリーの表示になる)
     */
    add_filter(
    	'snow_monkey_get_template_part_args',
    	function( $args ) {
    		if ( 'template-parts/loop/entry-summary/figure/figure' === $args['slug'] && 'news' === $args['name'] ) {
    			$args['name'] = 'post';
    		}
    		return $args;
    	}
    );

    ブロック以外の、カスタム投稿アーカイブなどにも影響があるかもしれません。もし変に影響がでるようなら教えてください。

    0
    Who liked: No user
    #25777

    返信が含まれるトピック: マルチサイトの時のヘッダ

    アバター画像キタジマ タカシ
    参加者
    2586

    テンプレートをそれぞれつくる方法です。

    例えば、子テーマ/template-parts/my-header というディレクトリを作って、そこに my-header-1〜3.php をつくるとします。その上で、下記のコードを追加するとどうでしょう?

    add_filter(
    	'snow_monkey_get_template_part_args',
    	function( $args ) {
    		$blog_id = get_current_blog_id();
    
    		// ヘッダーレイアウトが1行のときに、各子サイトでテンプレートを差し替える
    		if ( 'template-parts/header/1row' === $args['slug'] ) {
    			if ( 1 === $blog_id ) {
    				$args['slug'] = 'template-parts/my-header/my-header-1.php';
    			}
    		}
    		return $args;
    	}
    );
    0
    Who liked: No user
    #23953
    アバター画像キタジマ タカシ
    参加者
    2586

    わーすみません! Snow Monkey のアップデートで前述のカスタマイズでは反映されなくなったようです。下記に差し替えてみるとどうでしょうか?

    function my_loop_the_time( $time ) {
    	return get_the_time( 'Y/m/d' );
    }
    
    add_filter(
    	'snow_monkey_get_template_part_args',
    	function( $args ) {
    		if ( 'template-parts/loop/entry-summary/meta/meta' === $args['slug'] ) {
    			add_filter( 'the_time', 'my_loop_the_time' );
    			return $args;
    		}
    
    		remove_filter( 'the_time', 'my_loop_the_time' );
    		return $args;
    	}
    );
    0
    Who liked: No user
    #23063
    アバター画像キタジマ タカシ
    参加者
    2586

    こんな感じでどうでしょう?
    下記のコードを My Snow Monkey プラグインか、子テーマの functions.php に追加してみてください。

    /**
     * 最近の投稿ブロックの抜粋の後ろにボタンを追加する
     */
    add_filter(
    	'inc2734_wp_awesome_widgets_render_widget',
    	function( $widget, $args, $instance ) {
    		// ウィジェットからの呼び出しの場合は何もしない
    		if ( ! empty( $args['name'] ) ) {
    			return $widget;
    		}
    
    		// 最近の投稿ブロック以外の場合は何もしない
    		if ( 0 !== strpos( $args['widget_id'], 'snow_monkey_blocks_recent_posts-' ) ) {
    			return $widget;
    		}
    
    		// レイアウトがリッチメディア以外の場合は何もしない
    		if ( 'rich-media' !== $instance['layout'] ) {
    			return $widget;
    		}
    
    		$widget = preg_replace(
    			'|(<div class="c-entry-summary__content">)(.+?)(<\/div>)|ms',
    			'$1$2<div class="u-text-center" style="margin-top: .5em"><span class="c-btn">もっと詳しく</span></div>$3',
    			$widget
    		);
    
    		return $widget;
    	},
    	10,
    	3
    );
    
    /**
     * リッチメディアの抜粋表示の文字数を変更
     * ※「最近の投稿ブロック」だけでなく、記事一覧などでリッチメディアを使っている場合にはそこにも反映されてしまうので注意
     */
    add_filter(
    	'snow_monkey_get_template_part_args',
    	function( $args ) {
    		// 抜粋表示以外のテンプレート呼び出しの場合は何もしない
    		if ( 'template-parts/loop/entry-summary/content/content' !== $args['slug'] ) {
    			return $args;
    		}
    
    		// レイアウトがリッチメディア以外の場合は何もしない
    		if ( ! isset( $args['vars']['_entries_layout'] ) || 'rich-media' !== $args['vars']['_entries_layout'] ) {
    			return $args;
    		}
    
    		$args['vars']['_excerpt_length'] = 1000; // ここの数値を適当な数値に変更する
    
    		return $args;
    	}
    );

    抜粋の長さの変更については、「最近の投稿ブロックの抜粋にだけ適用する」という方法がちょっとうまく思いつきませんでした、すみません。すべてのリッチディアの表示に適用されてしまうため注意してください。

    0
    Who liked: No user
    #18150

    返信が含まれるトピック: リッチメディアのカスタマイズ

    アバター画像キタジマ タカシ
    参加者
    2586

    良かったです!

    文字数の変更は既存のバージョンでは難しそうです。Snow Monkey v7 を今週末か来週頭くらいにリリース予定ですが、v7 からは下記のコードを My Snow Monkey プラグインもしくは子テーマの functions.php に貼り付けることで変更可能になります(現在 v7 のリリース候補版を公開していますが、これでもできません…)。

    /**
     * 「Snow Monkye: 任意のタクソノミー:ウィジェット、Snow Monkey Blocks の「任意のタクソノミー」ブロックの抜粋の文字数を変更する
     */
    add_filter(
    	'snow_monkey_get_template_part_args',
    	function( $args ) {
    		if ( 'template-parts/widget/snow-monkey-posts' === $args['slug'] && 'taxonomy' === $args['name'] ) {
    			$args['vars']['_excerpt_length'] = 200; // 最大文字数を設定
    		}
    		return $args;
    	}
    );
    0
    Who liked: No user
15件の結果を表示中 - 106 - 120件目 (全121件中)

ドキュメント

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

ドキュメント

フォーラム

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

サポートフォーラム

よくあるご質問

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

よくあるご質問

お問い合わせ

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

お問い合わせ

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