メインコンテンツへ移動

Search results of "snow_monkey_get_template_part_args"

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

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

    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
    Who liked: No user
    #72912
    アバター画像キタジマ タカシ
    参加者
    2575

    僕も未検証で申し訳ないですが、$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
    Who liked: No user
    #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
    Who liked: No user
    #72327
    KogaHiromichi
    閲覧者
    8

    以下のコードを適用して、各設定セクションを無効化することで表示速度は問題なくなりました。

    add_filter(
    	'snow_monkey_get_template_part_args',
    	function( $args ) {
    		$inactive = array(
    			'app/customizer/design/sections/category/section',
    			'app/customizer/design/sections/custom-taxonomy/section',
    			'app/customizer/design/sections/custom-post-archive/section',
    			'app/customizer/design/sections/post-tag/section',
    		);
    		if ( in_array( $args['slug'], $inactive ) ) {
    			$args['slug'] = null;
    		}
    		return $args;
    	}
    );
    1
    Who liked: No user
    raradi
    閲覧者
    1

    返答いただきありがとうございます!

    こちらはテキスト2ではなく、テキスト形式です(今もう一度確認しました)
    あと追加した分と言えば、投稿日非表示のCSSと子テーマのfunctions.phpに
    こちらのフォーラムで紹介されていた「カテゴリ複数表示」「最終更新日表示」のコードです

    //投稿日非表示
    .c-entries--text .c-entry-summary__meta .c-meta__item--published{
      display:none !important;
    }
    
    //更新日表示
    .c-entries--text .c-entry-summary__meta .c-meta__item--modified{
      position: absolute;
      display:block !important;
      top: 55%;
      right: 0;
    
      @include sm { ※スマホ用mixinです
        position: static;
      }
    }
    /**カテゴリ複数表示 */
    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;
    		}
    
    		// 全ての設定されたカテゴリーを返す
    		$args['vars']['_terms'] = get_the_terms( get_the_ID(), 'category' );
    
    		return $args;
    	}
    );
    
    /** 「最新の記事一覧」に最終更新日を表示 */
    add_filter(
    	'snow_monkey_template_part_render',
    	function( $html, $slug ) {
    		if ( 'template-parts/loop/entry-summary/meta/meta' === $slug ) {
    			ob_start();
    			?>
    			<li class="c-meta__item c-meta__item--modified">
    			<svg class="svg-inline--fa fa-sync-alt fa-w-16" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="sync-alt" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" data-fa-i2svg=""><path fill="currentColor" d="M370.72 133.28C339.458 104.008 298.888 87.962 255.848 88c-77.458.068-144.328 53.178-162.791 126.85-1.344 5.363-6.122 9.15-11.651 9.15H24.103c-7.498 0-13.194-6.807-11.807-14.176C33.933 94.924 134.813 8 256 8c66.448 0 126.791 26.136 171.315 68.685L463.03 40.97C478.149 25.851 504 36.559 504 57.941V192c0 13.255-10.745 24-24 24H345.941c-21.382 0-32.09-25.851-16.971-40.971l41.75-41.749zM32 296h134.059c21.382 0 32.09 25.851 16.971 40.971l-41.75 41.75c31.262 29.273 71.835 45.319 114.876 45.28 77.418-.07 144.315-53.144 162.787-126.849 1.344-5.363 6.122-9.15 11.651-9.15h57.304c7.498 0 13.194 6.807 11.807 14.176C478.067 417.076 377.187 504 256 504c-66.448 0-126.791-26.136-171.315-68.685L48.97 471.03C33.851 486.149 8 475.441 8 454.059V320c0-13.255 10.745-24 24-24z"></path></svg>
    <?php the_modified_time( get_option( 'date_format' ) ); ?>
    			</li>
    			<?php
    			$modifiled = ob_get_clean();
    
    			return preg_replace(
    				'|(<li class="c-meta__item c-meta__item--published">.*?</li>)|ms',
    				'$1' . $modifiled,
    				$html
    			);
    		}
    		return $html;
    	},
    	10,
    	2
    );

    クライアント様のサーバー内にある公開前データなので
    実際のページをお見せすることができません、申し訳ありません!

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

    ぎゃー何度もすみません。。。。。下記に差し替えお願いします!!

    
    add_filter(
    	// templates/view/home.php のテンプレート引数をカスタマイズする
    	'snow_monkey_get_template_part_args_templates/view/home',
    	function( $args ) {
    		// 投稿ページ上部ウィジェットエリアを常に表示
    		$args['vars']['_display_posts_page_top_widget_area'] = true;
    		// 投稿ページ下部ウィジェットエリアを常に表示
    		$args['vars']['_display_posts_page_bottom_widget_area'] = true;
    		return $args;
    	}
    );
    3
    Who liked:
    SNM-FUN
    閲覧者
    20

    ありがとうございます。

    いただいたコードを試したところ、続いてこちらのエラーが出てしまいました。

    Parse error: syntax error, unexpected ‘,’

     

    ちなみに,;に変えると(下記コード)、エラーは出なかったものの投稿ページ2ページ目に、「投稿ページ上部」は表示されていませんでした。

    投稿ページ2ページ目のウィジェット

    
    add_filter(
    // templates/view/home.php のテンプレート引数をカスタマイズする
    'snow_monkey_get_template_part_args_templates/view/home',
    function( $args ) {
    // 投稿ページ上部ウィジェットエリアを常に表示
    $args['_display_posts_page_top_widget_area'] = true;
    // 投稿ページ下部ウィジェットエリアを常に表示
    $args['_display_posts_page_bottom_widget_area'] = true;
    return $args;
    }
    );
    
    0
    Who liked: No user
    アバター画像キタジマ タカシ
    参加者
    2575

    わーすみません! コードにミスがありました。

    => ではなくて = に変更してみてください。

    add_filter(
    	// templates/view/home.php のテンプレート引数をカスタマイズする
    	'snow_monkey_get_template_part_args_templates/view/home',
    	function( $args ) {
    		// 投稿ページ上部ウィジェットエリアを常に表示
    		$args['_display_posts_page_top_widget_area']    = true,
    		// 投稿ページ下部ウィジェットエリアを常に表示
    		$args['_display_posts_page_bottom_widget_area'] = true,
    		return $args;
    	}
    );
    0
    Who liked: No user
    アバター画像キタジマ タカシ
    参加者
    2575

    投稿ページについては、ウィジェットエリアが1ページ目にしか表示されない仕様になっていますが、フックでカスタマイズすることで変更できます。

    下記のコードを My Snow Monkey プラグイン、もしくは子テーマの functions.php に貼り付けてみるとどうでしょうか?

    add_filter(
    	// templates/view/home.php のテンプレート引数をカスタマイズする
    	'snow_monkey_get_template_part_args_templates/view/home',
    	function( $args ) {
    		// 投稿ページ上部ウィジェットエリアを常に表示
    		$args['_display_posts_page_top_widget_area']    => true,
    		// 投稿ページ下部ウィジェットエリアを常に表示
    		$args['_display_posts_page_bottom_widget_area'] => true,
    		return $args;
    	}
    );
    0
    Who liked: No user
    #66987

    返信が含まれるトピック: 一覧の表示項目を変更したい

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

    結構聞かれることが多いので、いくつか思いつくやり方をここで書いておきたいと思います。

    CSS で消す

    単純に CSS で消す方法です。これが一番手軽で後方互換性的にも問題が起こりにくいのではないかと思います。

    .c-entry-summary__meta {
      display: none;
    }

    snow_monkey_get_template_part_args_{slug} フィルターフックで消す

    テンプレートパーツの引数を書き換える方法です。メタ情報を表示するかどうかは template-parts/loop/entry-summary.php_display_meta という引数で制御されているので、そこを false に書き換えることでメタ情報が表示されなくなります。

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

    snow_monkey_template_part_render_{slug} フィルターフックで消す

    テンプレートパーツの HTML を書き換える方法です。メタ情報のテンプレートパーツ template-parts/loop/entry-summary/meta/meta.php の HTML を空(ここでは false にしていますがコールバック関数内で return とかでも OK)にすることでメタ情報を非表示にしています。

    add_filter(
    	'snow_monkey_template_part_render_template-parts/loop/entry-summary/meta/meta',
    	'__return_false'
    );

    snow_monkey_get_template_part_{slug} アクションフックで消す

    テンプレートパーツの HTML を定義する方法です。↑のフィルターフックと似ていますが、違うのは↑はあくまで「既存のテンプレートパーツの書き換え」ですが、これは「テンプレートパーツのファイルをつくらずにテンプレートの中身を定義する」というところです。メタ情報のテンプレートパーツ template-parts/loop/entry-summary/meta/meta.php の HTML を空(ここでは false にしていますがコールバック関数内で return とかでも OK)にすることでメタ情報を非表示にしています。

    add_action(
    	'snow_monkey_get_template_part_template-parts/loop/entry-summary/meta/meta',
    	'__return_false'
    );

    参考:

    1
    Who liked: No user
    #66919

    返信が含まれるトピック: *****

    *****
    [ プライベートトピックのため非表示 ]
    0
    Who liked: No user
    #62798

    返信が含まれるトピック: カスタム投稿タイプのタグ表示

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

    @アクツさん

    カスタムタクソノミーの場合は、タグ形式でもカテゴリー形式でも、コンテンツのメタ情報の部分に載ってしまうのが正しい挙動かと思います。

    あ、記事タイトル下のところに、タグ形式のタクソノミーがでちゃうこともあるってことですよね(複数タクソノミーが割り当てられている場合はどちらかのタクソノミーが表示)。挙動的にはバグっちゃバグですね…^^; 投稿の場合はカテゴリーだけなので、カスタム投稿のときもカテゴリー形式のタクソノミーだけが表示されるのが正しい気がします。これはちょっと修正入れます。

    一番良さそうな形か微妙ですが、

    Snow Monkey がわざわざ Helper::get_the_public_taxonomy( get_the_ID() ); で投稿に紐付いた全タクソノミー情報をとっているのは、Snow Monkey からはどのタクソノミーを表示すれば良いのか判断ができないからなので、カスタマイズで自分の好きなタクソノミーだけを表示したいときは get_the_terms() で好きなタクソノミーを取得すれば良いです。書き直すとこんな感じでしょうか。

    カスタム投稿 news、カスタムタクソノミー news_category の場合

    add_action(
    	'snow_monkey_prepend_contents',
    	function() {
    		// カスタム投稿のときにメタ情報のカテゴリー表示を無効化
    		if ( is_singular( 'news' ) ) {
    			remove_action( 'snow_monkey_entry_meta_items', 'snow_monkey_entry_meta_items_categories', 40 );
    		}
    
    		// カスタム投稿のときにメタ情報を表示
    		// カスタマイザーでビューテンプレートを「投稿」にしている場合は不要
    		if ( is_singular( 'news' ) ) {
    			add_filter(
    				'snow_monkey_get_template_part_args_template-parts/content/entry/entry',
    				function( $args ) {
    					$args['vars']['_display_entry_header'] = true;
    					$args['vars']['_post_type'] = 'post';
    					return $args;
    				}
    			);
    		}
    
    		// カスタム投稿のときに任意のタクソノミーをメタ情報に表示
    		if ( is_singular( 'news' ) ) {
    			add_action(
    				'snow_monkey_entry_meta_items',
    				function() {
    					$terms = get_the_terms( get_the_ID(), 'news_category' );
    					if ( ! is_array( $terms ) ) {
    						return;
    					}
    					?>
    					<?php foreach ( $terms as $term ) : ?>
    						<li class="c-meta__item c-meta__item--categories">
    							<span class="screen-reader-text"><?php echo esc_html( $terms->label ); ?></span>
    							<i class="fas fa-folder" aria-hidden="true"></i>
    							<a href="<?php echo esc_url( get_term_link( $term ) ); ?>"><?php echo esc_html( $term->name ); ?></a>
    						</li>
    					<?php endforeach; ?>
    					<?php
    				},
    				40
    			);
    		}
    	}
    );
    2
    Who liked: No user
    #62706

    返信が含まれるトピック: カスタム投稿タイプのタグ表示

    アクツ
    参加者
    168

    andmさんこんにちは!

    カスタムタクソノミーの場合は、タグ形式でもカテゴリー形式でも、コンテンツのメタ情報の部分に載ってしまうのが正しい挙動かと思います。
    (私も同現象になりました)

    ひとまずタグ欄にタグ出す方法はわかったので共有します(ほぼslackでキタジマさんがいってたのをコード化しただけですw)

    add_filter(
    	'snow_monkey_get_template_part_args_template-parts/content/entry/entry',
    	function( $args ) {
    		if ( is_singular('{カスタム投稿名}') ) {
    			$args['vars']['_display_tags'] = TRUE;
    		}
    		return $args;
    	}
    );
    
    add_filter(
    	'snow_monkey_get_template_part_args_template-parts/content/entry-tags',
    	function( $args ) {
    		if ( is_singular('{カスタム投稿名}') ) {
    			$args['vars']['_terms'] = get_the_terms( get_the_ID(), '{カスタムタクソノミーslug}' );
    		}
    		return $args;
    	}
    );
    4
    Who liked:
    Hajime Megane Ogushi
    参加者
    19

    ありがとうございます!
    バッチリな感じがします。
    投稿の時は、今まで通りのauthorリンクでも良さそうなので、以下のように投稿以外では、という設定でも良いかなと思いました。何にしろありがとうございます!

    
    // プロフィールボックスの著者アーカイブリンクをその著者のカスタム投稿アーカイブへのリンクにする
    add_filter(
    	'snow_monkey_get_template_part_args_template-parts/common/profile-box',
    	function( $args ) {
    		if ( ! is_singular( 'post' ) ) {
    			$args['vars']['_in_same_post_type'] = true;
    		}
    		return $args;
    	}
    );
    
    1
    Who liked: No user
    #62472
    アバター画像キタジマ タカシ
    参加者
    2575

    これでどうでしょうか?

    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' );
    		$terms = array_map(
    			function( $term ) {
    				return isset( $term->parent ) && $term->parent
    					?	false
    					: $term;
    			},
    			$terms
    		);
    
    		$terms = array_filter(
    			$terms,
    			function( $term ) {
    				return $term ? $term : false;
    			},
    		);
    
    		$args['vars']['_terms'] = $terms;
    
    		return $args;
    	}
    );
    0
    Who liked: No user
15件の結果を表示中 - 76 - 90件目 (全119件中)

ドキュメント

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

ドキュメント

フォーラム

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

サポートフォーラム

よくあるご質問

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

よくあるご質問

お問い合わせ

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

お問い合わせ

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