「snow_monkey_get_template_part_args」の検索結果

15件の結果を表示中 - 91 - 105件目 (全109件中)
  • 投稿者
    検索結果
  • アバター画像キタジマ タカシ
    参加者
    2421

    下記の内容で検証してみました。

    wpmp-config.php の設置と編集

    wp-content/wpmp-config.php を設置し、下記部分を編集。

    $wpmp_conf['excerpt_mblength'] = 10;
    

    ループ内の _excerpt_length を編集

    add_filter(
    	'snow_monkey_get_template_part_args_template-parts/loop/entry-summary/content/content',
    	function( $args ) {
    		$args['vars']['_excerpt_length'] = 20;
    		return $args;
    	}
    );

    ちゃんと反映されているか確認

    add_filter(
    	'excerpt_length',
    	function( $length ) {
    		var_dump( $length );
    		return $length;
    	},
    	10000
    );

    とすると、各ループ内の抜粋部分に int(20) と表示され、切り取られました。ということから考えると、

    2. カスタムテンプレートを用意して$args[‘_excerpt_length’]に数値を指定した
    loop/entry-summary-post.phpを上書きするように準備した上で、53行目を’_excerpt_length’=> 50に変更しました。

    の上書きの方法を静海さんと同じにすると再現するのかな?と思いました。同じ方法で試してみたいと思うので、どのように上書きをしているのか教えてください!

    0
    いいねをした人: 居ません
    アバター画像キタジマ タカシ
    参加者
    2421

    ありがとうございます! ちょっと書いてみました。適宜書き換えて試してみてください(前述のコードは削除せずに新しく追加してください)。

    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 = $_terms[0];
    				if ( 0 !== $_term->parent ) {
    					$ancestors = get_ancestors( $_term->term_id, 'category', 'taxonomy' ); // タクソノミー名を指定
    					$top_level_term_id = end( $ancestors );
    					if ( $top_level_term_id ) {
    						$_term = get_term( $top_level_term_id, 'category' ); // タクソノミー名を指定
    					}
    				}
    				$args['vars']['_terms'] = [ $_term ];
    			}
    		}
    		return $args;
    	}
    );
    1
    いいねをした人: 居ません
    gama
    参加者
    35

    追加

    現在 my-snow-monkey.php に

    // 施工例最新のカテゴリーラベルをつける
    add_filter(
    	'snow_monkey_get_template_part_args',
    	function( $args ) {
    		if ( 'template-parts/loop/entry-summary/figure/figure' === $args['slug'] && 'kaniworks' === $args['name'] ) {
    			$args['name'] = 'post';
    		}
    		return $args;
    	}
    );

    とカテゴリーラベルを入れる指示がしてあります。
    これに限定する何かを付け足せばいいんでしょうか?

    0
    いいねをした人: 居ません
    #56660
    Kmical Lights
    閲覧者
    234

    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
    いいねをした人:
    #56051
    アバター画像キタジマ タカシ
    参加者
    2421

    上記ページのコードの「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
    いいねをした人: 居ません
    アバター画像キタジマ タカシ
    参加者
    2421

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

    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
    いいねをした人: 居ません
    アバター画像キタジマ タカシ
    参加者
    2421

    このカテゴリーラベルは、その投稿に紐付いた(カテゴリーを含む)タクソノミーとそのタームを一括取得して、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
    いいねをした人: 居ません
    #53541

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

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

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

    1
    いいねをした人: 居ません
    #52189
    アバター画像キタジマ タカシ
    参加者
    2421

    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
    いいねをした人: 居ません
    #52104
    アバター画像キタジマ タカシ
    参加者
    2421

    こういうのは 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
    いいねをした人: 居ません
    #52022
    アバター画像キタジマ タカシ
    参加者
    2421

    良かったです!

    アップデート後もコードは必要になりはするのですが、先のコードだと一度画像を取得した後に新しい画像に上書きしているのを、アップデート後だと指定したサイズの画像だけを取得して表示するようになります。まだ作業中ですが、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
    いいねをした人: 居ません
    アバター画像キタジマ タカシ
    参加者
    2421

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

    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
    いいねをした人: 居ません
    アバター画像キタジマ タカシ
    参加者
    2421
    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
    いいねをした人: 居ません
    アバター画像キタジマ タカシ
    参加者
    2421

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

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

    /**
     * カスタム投稿タイプ 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
    いいねをした人: 居ません
    #25777

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

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

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

    例えば、子テーマ/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
    いいねをした人: 居ません
15件の結果を表示中 - 91 - 105件目 (全109件中)

ドキュメント

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

ドキュメント

フォーラム

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

サポートフォーラム

よくあるご質問

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

よくあるご質問

お問い合わせ

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

お問い合わせ

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