「snow_monkey_get_template_part_args」の検索結果

15件の結果を表示中 - 61 - 75件目 (全116件中)
  • 投稿者
    検索結果
  • #81980
    アバター画像キタジマ タカシ
    参加者
    2536

    解説コメントを付け加えてみました。

    add_filter(
    	'snow_monkey_get_template_part_args',
    	function( $args ) {
    		// 記事一覧カテゴリー以外のテンプレートの場合は無視
    		if ( 'template-parts/loop/entry-summary/term/term' !== $args['slug'] ) {
    			return $args;
    		}
    
    		// 投稿以外の場合は無視 ← ビューテンプレートを「投稿のビューテンプレート」にしていると、そのカスタム投稿も影響を受けます。つまり無視されません。
    		if ( 'post' !== $args['name'] ) {
    			return $args;
    		}
    
    		// 全ての設定されたカテゴリーを返す ← ここで「投稿のビューテンプレート」なカスタム投稿タイプも「category」を取得しにいくためカテゴリーラベルの表示が消えます
    		$args['vars']['_terms'] = get_the_terms( get_the_ID(), 'category' );
    
    		return $args;
    	}
    );

    ということで、こんな感じでどうでしょうか?(適宜変更してみてください)

    add_filter(
    	'snow_monkey_get_template_part_args',
    	function( $args ) {
    		// 記事一覧カテゴリー以外のテンプレートの場合は無視
    		if ( 'template-parts/loop/entry-summary/term/term' !== $args['slug'] ) {
    			return $args;
    		}
    
    		if ( 'post' !== $args['name'] ) {
    			return $args;
    		}
    
    		// 投稿のときは全ての設定されたカテゴリーを返す
    		if ( 'post' === get_post_type() ) {
    			$args['vars']['_terms'] = get_the_terms( get_the_ID(), 'category' );
    		}
    
    		// news のときは news_category を返す
    
    		if ( 'news' === get_post_type() ) {
    			$args['vars']['_terms'] = get_the_terms( get_the_ID(), 'news_category' );
    		}
    
    		return $args;
    	}
    );
    1
    いいねをした人:
    #80922
    Olein_jp
    参加者
    571

    @キタジマタカシ氏

    上記のコード、上手く動かないような気がします。原因特定できていないですけど…

    僕の方では、ホームページ設定した固定ページに最近の投稿ブロックを配置して以下のようなコードで試してみました。過去の投稿を更新してみても並び順が変わらないので…なんでだろ…

    add_filter(
    	'snow_monkey_get_template_part_args_template-parts/widget/snow-monkey-posts',
    	function( $args ) {
    		if ( is_front_page() ) {
    			$args['vars']['_posts_query']->set( 'orderby', 'modified' );
    			return $args;
    		}
    		return $args;
    	}
    );
    0
    いいねをした人: 居ません
    #80800
    GONSY
    参加者
    846

    PaPa-Riderさん

    参考のご提示ありがとうございます。よくわかりました。
    適宜調整は必要かもしれませんが、こんな感じでいかがでしょうか?

    画像のキャプション欄に以下を挿入
    <i class="fas fa-camera-retro"></i>画像引用元:<a href="https://example.com/" target="_blank" rel="noreferrer noopener">PaPa-Riderブログ</a>
     
    my-snow-monkey.phpに以下を追加

    add_filter(
    	'snow_monkey_get_template_part_args_template-parts/common/page-header',
    	function( $args ) {
    		$args['vars']['_display_image_caption'] = true;
    		return $args;
    	}
    );

     
    アイキャッチの右下に引用元を表示する場合は、CSSを一部上書き

    .c-page-header__bgimage-caption {
    	text-align: right;
    }

    一度お試しくださいませ。

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

    やるとすればフックでクエリを書き換える方法になります。下記サンプルです(動作未確認)。

    add_filter(
    	'snow_monkey_get_template_part_args_template-parts/widget/snow-monkey-posts',
    	function( $args ) {
    		// 任意のタクソノミーの投稿ブロック/任意のタクソノミーの投稿ウィジェットの場合
    		// 実際にはもうちょっと条件を足して絞り込んだほうが良いかも
    		if ( 'taxonomy' === $args['name'] ) {
    			$args['vars']['_posts_query']->set( 'post__in', [ 1, 2, 4 ] );
    		}
    		return $args;
    	}
    );

    個人的には、表示したい各投稿に共通する適当なタグをつけて、それを呼びだすのが一番簡単だと思います。

    1
    いいねをした人:
    #80609
    アバター画像キタジマ タカシ
    参加者
    2536

    僕も確認してみましたがちゃんと反映されているようでした。もし「記事一覧の表示順」というのが「トップページの記事の一覧」ということであれば、トップページでは最近の投稿ブロックを使用されているようなのでこのコードでは並び順は変更されません(is_main_query で分岐しているけど、最近の投稿ブロックはメインクエリーではないため)

    最近の投稿ブロックのクエリを書き換える場合は下記のような感じになります(すべての最近の投稿ウィジェット・最近の投稿ブロックに影響が出るので、実運用では適当に条件分岐させるのが良いと思います)。

    add_filter(
    	'snow_monkey_get_template_part_args_template-parts/widget/snow-monkey-posts',
    	function( $args ) {
    		$args['vars']['_posts_query']->set( 'orderby', 'modified' );
    		return $args;
    	}
    );
    0
    いいねをした人: 居ません
    アバター画像キタジマ タカシ
    参加者
    2536

    デフォルトではカテゴリーの移動制限は無効です。

    snow_monkey_get_template_part_args_template-parts/content/prev-next-nav フックで _in_same_termtrue にしてみてください。

    1
    いいねをした人:
    アバター画像キタジマ タカシ
    参加者
    2536

    ありがとうございます! 検証環境を整えてみました。

    rich-media を text に書き換えると表示も変わる

    これは $args['vars']['_entries_layout'] = 'text'; の部分は常に反映されないけど、$args['vars']['_entries_layout'] = 'rich-media'; は意図していない(= 'template-parts/archive/entry/search' === $args['slug'] であろうという想定のとき)も反映されてしまう、ということですかね?

    もしそうだった場合、カスタマイザー → デザイン → (question)アーカイブページ設定 → ビューテンプレートの設定が「投稿のビューテンプレート」になっていないでしょうか?「投稿のビューテンプレート」になっていると $args['name'] が投稿と同じ post になるので条件が意図したとおりに動かなくなります。

    「投稿のビューテンプレート」を使いたい場合は下記のようにするのが良いかなと思います。

    add_filter(
    	'snow_monkey_get_template_part_args_template-parts/archive/entry/search',
    	function( $args ) {
    		if ( 'news' === get_post_type() ) { // ← 投稿タイプの判定を get_post_type() でおこなう
    			$args['vars']['_entries_layout'] = 'text';
    		} else {
    			$args['vars']['_entries_layout'] = 'rich-media';
    		}
    		return $args;
    	}
    );
    1
    いいねをした人:
    KogaHiromichi
    閲覧者
    8

    早速にありがとうございます!!!(涙

    add_filter(
    	'snow_monkey_get_template_part_args_template-parts/common/entries/entries/posts',
    	function( $args ) {
    		if ( 'ir' === $args['name'] ) {
    			$args['vars']['_display_item_terms'] = true;
    			$args['vars']['_display_item_meta'] = true;
    		}
    		return $args;
    	}
    );

    日付情報とターム名を表示したいので、上記としました。
    まだまだわからないことも多いですが、このテーマのカスタマイズ感の良さに平伏しておりますw

    1
    いいねをした人:
    アバター画像キタジマ タカシ
    参加者
    2536

    設定をデフォルトにすると c-entry-summary__meta が非表示になってしまうんですが、

    これはターム名のラベルの表示が、ということですよね?

    ターム名のラベルの表示はテンプレート引数をフックで書き換えることで変更できます。

    タームをビューテンプレートはデフォルトのままで、

    add_filter(
    	'snow_monkey_get_template_part_args_template-parts/common/entries/entries/posts',
    	function( $args ) {
    		if ( 'カスタム投稿タイプ名' === $args['name'] ) {
    			$args['vars']['_display_item_terms'] = true;
    		}
    		return $args;
    	}
    );

    とするとどうでしょうか?

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

    v14.1.0 で、コードを追加することでシェアボタンが表示できるようにしてみました。

    add_filter(
    	'snow_monkey_get_template_part_args_templates/view/woocommerce-single-product',
    	function( $args ) {
    		$args['vars']['_display_top_share_buttons'] = true; // 上部に出したいとき
    		$args['vars']['_display_bottom_share_buttons'] = true; // 下部に出したいとき
    		return $args;
    	}
    );

    これで表示されはするんですが、WooCommerce の商品ページは普通の記事ページと違ってタイトルがページ上部に表示されないので、シェアボタンの位置がちょっと微妙になるなぁと個人的には思いました。微妙であれば WooCommerce のフックを調べて、そこに対してシェアボタンを表示するコードを突っ込むみたいな感じになるかなと思います。

    2
    いいねをした人:
    #73221
    川井昌彦
    参加者
    20

    アクツさん、キタジマさん ご回答ありがとうございます。
    キタジマさんのコードでうまく行きました!

    snow_monkey_get_template_part_args_template-parts/ の使い方がいまひとつわからなかったんですが、これで他にも応用できそうです。

    すぐにご回答いただいていたのに、別件でバタバタしていて試すのが遅くなってしまいました。
    申し訳ないです。

    ありがとうございました!

    クローズしますね。

    2
    いいねをした人: 居ません
    アバター画像キタジマ タカシ
    参加者
    2536
    add_filter(
    	'snow_monkey_get_template_part_args_template-parts/content/entry/entry',
    	function( $args ) {
    		$args['vars']['_display_comments'] = false;
    		return $args;
    	}
    );

    でデフォルトのコメントエリアを消しつつ、

    template-parts/content/entry/footer/footer.php を上書きしてコメントエリアを追加する感じですかねー。template-parts/content/entry/footer/footer.php は結構大きいテンプレートなので、今後のメンテナンスのことを考えると個人的には上書きはあまりオススメできません。メンテナンスとカスタマイズの重要度を天秤にかけて判断してもらうと良いかなと思います。

    これをMy Snow Monkeyで実現する方法はありますか?

    できなくはないですが、結局テンプレートを上書きすることになるので、子テーマでやったほうが素直かなと思います。

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

    複数カテゴリーがチェックしてある場合など、実際の運用状況を考慮するともうちょっと調整が必要だと思いますが、ざっくりこんな感じですかねー。

    add_filter(
    	'snow_monkey_get_template_part_args_template-parts/loop/entry-summary/term/term',
    	function( $args ) {
    		if ( 'post' !== $args['name'] ) {
    			return $args;
    		}
    
    		$_terms = get_the_terms( get_the_ID(), 'category' );
    		$new_terms = [];
    
    		foreach ( $_terms as $_term ) {
    			$ancestors = get_ancestors( $_term->term_id, 'category' );
    			if ( $ancestors ) {
    				$ancestors = array_reverse( $ancestors );
    				foreach ( $ancestors as $ancestor_id ) {
    					$new_term = get_term( $ancestor_id, 'category' );
    					if ( ! is_wp_error( $new_term ) ) {
    						$new_terms[ $ancestor_id ] = $new_term;
    					}
    				}
    				$new_terms[ $_term->id ] = $_term;
    			}
    		}
    
    		$args['vars']['_terms'] = $new_terms ? $new_terms : $_terms;
    
    		return $args;
    	}
    );
    0
    いいねをした人: 居ません
    #72912
    アバター画像キタジマ タカシ
    参加者
    2536

    僕も未検証で申し訳ないですが、$args['vars']['_message'] かも?

    add_filter(
    	'snow_monkey_get_template_part_args_template-parts/archive/entry/content/none',
    	function( $args ) {
    		$args['vars']['_message'] = '投稿がないです!';
    		return $args;
    	}
    );
    3
    いいねをした人: 居ません
    #72880
    アクツ
    参加者
    168

    川井さんこんにちは!

    テンプレみていって、なんとなくこれかなと思ったコード書いておきます。
    まったくの未検証(そしてもっと良いフックがあるかも)なので、ほんのご参考程度ぐらいで(^^;)

    /**
    * @param array $args
    * @param string slug
    * @param string name
    * @param array vars
    * @return array
    *
    * コンテンツが1つもない場合のメッセージ変更
    */
    add_filter(
    	'snow_monkey_get_template_part_args_template-parts/archive/entry/content/content-none',
    	function( $args ) {
    		$args['_message'] = '変えたいメッセージにする'; //特定の条件のときだけの場合はif文で条件分岐して変更してみてください
    	return $args;
    	}
    );
    2
    いいねをした人: 居ません
15件の結果を表示中 - 61 - 75件目 (全116件中)

ドキュメント

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

ドキュメント

フォーラム

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

サポートフォーラム

よくあるご質問

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

よくあるご質問

お問い合わせ

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

お問い合わせ

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