フォーラムへの返信
-
投稿者投稿
-
・カテゴリー名を出すように、カスタム投稿のラベルを一覧のタイトルの左側に表示させたい
下記でどうでしょうか?
/* 最近の投稿、レイアウトが「テキスト」のとき、カテゴリーラベルを強制的に表示させる */ .smb-tabs .c-entries--text .c-meta__item--categories { display: inline-flex !important; } /* PC サイズのとき */ @media (min-width: 1024px) { /* メタ情報のサイズがデフォルト 8em で、カテゴリーラベルが折り返されてしまうので auto にする */ .smb-tabs .c-entries--text .c-entry-summary__body > .c-entry-summary__meta { width: auto; } /* 日付を 8em で表示する(状況にあわせて変えてください) */ .smb-tabs .c-entries--text .c-entry-summary__body > .c-entry-summary__meta .c-meta__item--published { width: 8em; } /* カテゴリーラベルを 8em で表示する(状況にあわせて変えてください) */ .smb-tabs .c-entries--text .c-entry-summary__body>.c-entry-summary__meta .c-meta__item--categories { width: 8em; } }ひとまず、下記の実現したいと思います。
ホームページ下部に最近の投稿ブロックをタブの中に配置して、各タブごとに出す投稿を「全部」「通常投稿のカテゴリーお知らせ」「カスタム投稿①」「カスタム投稿②」としたいです。
・投稿日付をカスタム投稿でも出したい
方法をまとめます。
– 「ホームページ」に割り当てた固定ページに「タブ」ブロックを設置する。
– 上記のタブブロックにタブを4つ追加する(「全部」「通常投稿のカテゴリーお知らせ」「カスタム投稿①」「カスタム投稿②」)。
– 上記のそれぞれのタブにそれぞれ「最近の投稿」ブロックを配置する。
– 「全部」用の最近の投稿ブロックの「HTML アンカー」に「all-entries」と入力する。
– 「通常投稿のカテゴリーお知らせ」用の最近の投稿ブロックは投稿タイプを「投稿」カテゴリーを「お知らせ」に設定する。
– 「カスタム投稿①」「カスタム投稿②」用の最近の投稿ブロックは投稿タイプをそれぞれ「カスタム投稿①」「カスタム投稿②」に設定する。さらに、「各項目のメタ情報を強制的に表示する」を有効化し、「各項目の公開日を表示する」も有効化する。
– 「全部」用の最近の投稿ブロックの投稿タイプの指定をフックでカスタマイズするために、下記のコードを追加する。add_filter( 'snow_monkey_recent_posts_widget_args_all-entries', // 「all-entries」の部分は「HTML アンカー」に入力した文字列にする function( $query_args ) { $query_args['post_type'] = array( 'post', 'カスタム投稿①', 'カスタム投稿②' ); return $query_args; } );以上を試してみてください。
・カテゴリー名を出すように、カスタム投稿のラベルを一覧のタイトルの左側に表示させたい
上記については調査後にまた書き込みます。
♥ 0Who liked: No user2のほうは、この一覧部分は Snow Monkey Blocks の最近の投稿ブロックを設置している状態ですかね?
それとも、ウイジェットでしょうか?
また、そのブロック(またはウィジェット)の投稿タイプの設定はどうなっていますか?
♥ 0Who liked: No userウィジェットエリアに置いているのにかかわらず、ウィジェットになっていないのでしょうか?
ウィジェットエリアにタブブロックを配置し、その中に最近の投稿ブロックを入れている、という認識であっていますかね?
また、
各タブごとに出す投稿を「全部」「通常投稿のカテゴリーお知らせ」「カスタム投稿①」「カスタム投稿②」としたいです。
上記自体は実現できているのでしょうか?
クラス名が「wp-block-snow-monkey-blocks-recent-posts」となっていますので、ウィジェットエリアに置いているのにかかわらず、ウィジェットになっていないのでしょうか?
現行の WordPress では、ウィジェットエリアにもブロックを配置するようになっています。ウィジェットを配置するにはレガシーウィジェットブロックを使うか、クラシックウィジェットプラグインをインストールすることになります。
もしウィジェットエリアを使わずにページの編集画面に入れても実現できる状況なら、ウィジェットエリアを使わないほうが複雑にならずには済むと思います。
僕が状況をまだよく理解できていないので、可能ならそのページが現状どうなっているかを見てみたいです。
♥ 0Who liked: No userご確認ありがとうございます! 一応 Snow Monkey v25.4.5 で、関連付けされていなくてもエラーがでないように修正しています。
解決済みということで、トピックのクローズをお願いします!
♥ 0Who liked: No user上記のトピックのコードは
'archive' === $args['vars']['_context']で分岐させることでアーカイブページの一覧部分にだけ効果を限定させていました。関連記事の場合は_contextがsnow-monkey/related-postsなのでその場合も適用されるようにコードを変更すれば良いです。if ( 'archive' === $args['vars']['_context'] || 'snow-monkey/related-posts' === $args['vars']['_context'] ) { .... }♥ 0Who liked: No userカスタムロゴが設定されていない、画像の height が取得できないときは表示されません。
カスタムロゴが設定されているか、svg をアップロードできるようにしている場合は height 属性をつけているか確認してみてください。
♥ 0Who liked: No userカスタムタクソノミーを定義されているかと思いますが、そのカスタムタクソノミーは何らかの投稿タイプと関連付けがされていますでしょうか?
register_taxonomy()でカスタムタクソノミーを定義している場合は、object_type引数で指定している投稿タイプになります。♥ 0Who liked: No userカテゴリーアーカイブページは
bodyにcategory-update-infoのようなクラスが付与されています。カテゴリーのスラッグは環境によって変わるので、ご自身のページで確認してみてください。そして、下記のような CSS で非表示にすれば良いのかなと思います。.category-update-info .p-archive .c-meta__item--published { display: none; }記事ページも同じような感じで非表示にできます。
.category-update-info .c-entry__header .c-meta__item--published { display: none; }♥ 0Who liked: No userテスト環境は PHP のバージョンが違うようでしたら、バージョンかもしれません。確認して修正を入れます!
♥ 0Who liked: No user上記のコードだと、
is_authorのときしかreturnしていないので、その他の条件のときも(無加工の値を)返す必要があると思います。こうしてみるとどうですかね?add_filter( 'snow_monkey_template_part_root_hierarchy_template-parts/loop/entry-summary', function( $hierarchy, $name, $vars ) { if( is_author() ) { $hierarchy[] = __DIR__ . '/override'; return $hierarchy; } return $hierarchy; }, 10, 4 );追加している CSS の中に、全角空白が紛れていたりしないですかね?
♥ 0Who liked: No userこれでどうですかね?
.c-dropdown__controls .c-hamburger-btn__bar { background-color: blue; }♥ 0Who liked: No user -
投稿者投稿


