フォーラムへの返信
-
投稿者投稿
-
しかし、投稿の編集画面から商品ページ設定の項目がでないのはどうしてでしょうか・・・
あ、実際の画面じゃなくて、編集画面を開いた状態でカスタマイザーを開いたら表示されなかった、ということですかね。WordPress のカスタマイザーは実際の画面とは連動するようになっているのですが、編集画面とは連動しないんですよね。
解決済みということでクローズします!
♥ 0Who liked: No user@Nobuyuki Hiroeさん
あーなるほど、「カスタマイザー → デザイン → 「〇〇〇」カテゴリーページ設定」に固定ページの URL ですね、なるほどなるほど。良いアイデアをありがとうございます!この指定した固定ページのタイトルがカテゴリーページのタイトルタグに使用されるようにすれば良いかもですね。Snow Monkey に組み込みだと複雑さがましてしまうので、プラグインとしてつくるのが良いかなと思います。ちょっと今週いっぱいくらいでベータ版としてプラグインをつくってみようと思います。
@Kobayashi Toru さん
そんな感じですすめて大丈夫でしょうか?お急ぎなら先に前述した仕様のコードだけでも共有するようにします(あとでプラグインを入れたときはバッティングするので消してもらう必要がありますが)♥ 0Who liked: No user説明には HTML を書くしかできないので、ブロックを入れたいとなると下記のパターンかなと…。
1. 固定ページにブロックを使って内容をつくる
2. コードを書いて、特定のカテゴリーページの上部に (1) でつくった内容を表示する
3. (1) のページにアクセスがあったときは (2) のページにリダイレクトするようにする多分これで表示自体はちゃんと希望通りになると思うのですが、問題は (2) と (3) を自動化できないので、カテゴリーごとにそれぞれ (2) と (3) のコードを書かなければいけません。
面倒なやり方ではありますが、これで良ければ実験してコード共有します。どうでしょう?
♥ 0Who liked: No userうーん、なんでだろう…。「[カスタム投稿タイプ名]ページ設定」の表示条件は今開いているページがカスタム投稿かどうかだけなんですよね。下記のページは item というカスタム投稿ですかね?もしそうなら、このページを開いた状態で、ページ上部にある管理バーの「カスタマイズ」をクリックして、表示されるかどうかみてみてほしいです。
♥ 0Who liked: No userあーこれはちょっと難しいかもですね…。
related-posts.php自体を書き換えるのはそう難しくないかもですが、その下に紐づくentry-summary-post.phpに設定値を引き継ぐ方法がないので。カスタマイズでの対応は難しいと思うので、v7 でオフィシャルに「関連記事レイアウト」の設定を追加しましょうか。それならできそうな気がします。
♥ 0Who liked: No user上記の記事は現在では古くなっていまして、現在のバージョンではカスタマイザーから設定が可能です。
上記を参考に、適当なカスタム投稿ページを表示した状態で、管理バーのカスタマイズをクリックしてください。カスタマイザー > デザイン > [カスタム投稿タイプ名]ページ設定 > アイキャッチ画像 で「ページヘッダー」を選択してみてください。
♥ 0Who liked: No userなるほど…。原因がわからずじまいですが、とりあえず解決したということで、トピッククローズします。またおかしくなったときは教えていただければと思います!
♥ 0Who liked: No user正式版はまだですが、ベータ版はリリースしたので一応お知らせです!
♥ 0Who liked: No userあーなるほど!確かにそのレイアウトのほうがしっくりきますね。今メジャーアップデートとなる v7 を開発中なのですが、v7 からはそのデザインになるように変更をいれようと思います。今週末を目処にリリースを目指します。
もしお急ぎであれば、下記の CSS を追加してみてください。
@media (max-width: 1023px) { .c-entries--simple .c-entry-summary__figure { margin-right: 1rem; width: 33%; float: left; } .c-entries--simple .c-entry-summary__content { display: none; } }♥ 0Who liked: No userあ、すみません、一部コード間違ってました…。
add_filter( 'snow_monkey_template_part_render', function( $html, $slug ) { if ( 'templates/view/home' !== $slug ) { return $html; } // 記事ヘッダー( <code>.c-entry__header</code> )の HTML を取得 ob_start(); \Framework\Helper::get_template_part( 'template-parts/archive/entry/header/header' ); $entry_header = ob_get_clean(); // 置換して記事ヘッダーを足す return str_replace( '<div class="c-entry__body">', $entry_header . '<div class="c-entry__body">', $html ); }, 10, 2 );とりあえず解決はしたということでトピック閉じます!
♥ 0Who liked: No userもしかしたら Windows 環境(Windows サーバー / Windows 端末)だと不具合がでる…とかがあるのかもしれません。リンク切れとのことですが、どのような URL のファイルを読み込もうとして失敗しているか教えてもらえないでしょうか? ブラウザのデベロッパーツールに読み込みエラーがでているかと思います。
♥ 0Who liked: No userXAMPP の環境がないためすぐに確認するのが難しいのですが、設置ディレクトリの階層などで正しく動かない問題があるのかもしれません。
WP のダッシュボードにある WordPress アドレスとサイトアドレスがどうなっているか教えてもらえないでしょうか?
♥ 0Who liked: No userお手間かけてすみません…。僕も CPT UI でテストしていたのでできないことはないはずなのですが、CPT UI に詳しいわけではないので、ちょっとどこに問題がありそうかまでわからず…。コードで書くほうが確実だし細かい調整もしやすいと思いますので、正しく動作しているのであればそれが良いと思います!
ただ、詳細ページについては、まだカテゴリーだけ表示されていません。↓
あ、これは前述したように Snow Monkey 側に問題がありますので、アップデートをお待ちいただければと思います。とりあえずパッチだけでも共有しましょうか。
snow-monkey/app/setup/entry-meta.phpのsnow_monkey_entry_meta_items_categoriesを下記のように書き換えてみてください(本来 Snow Monkey のファイルを直接書き換えるのは NG ですが、次のアップデートで同じ変更が入るので直接変更されても問題ないかと思います)。function snow_monkey_entry_meta_items_categories() { $taxonomies = get_object_taxonomies( get_post_type(), 'object' ); foreach ( $taxonomies as $taxonomy ) { if ( ! $taxonomy->public ) { continue; } $terms = get_the_terms( get_the_ID(), $taxonomy->name ); break; } if ( empty( $terms ) || is_wp_error( is_wp_error( $terms ) ) || ! 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( $taxonomy->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 }♥ 0Who liked: No userこっちのほうがもっとシンプルでした!
add_filter( 'snow_monkey_template_part_render', function( $html, $slug ) { if ( 'templates/view/home' !== $slug ) { return $html; } // 記事ヘッダー( <code>.c-entry__header</code> )の HTML を取得 \Framework\Helper::get_template_part( 'template-parts/archive/entry/header/header' ); $entry_header = ob_get_clean(); // 置換して記事ヘッダーを足す return str_replace( '<div class="c-entry__body">', $entry_header . '<div class="c-entry__body">', $html ); }, 10, 2 );♥ 0Who liked: No userありがとうございます。
現在
post_formatとworks_categoryの2つが紐付いているようです。前述したように、「紐付いていてかつpublic => trueなタクソノミー(複数ある場合は最初の1つ)」が表示されるようになっているのですが、post_formatとworks_category、どちらもpublic => trueになっていて、優先度的にpost_formatが利用されるようになっているためworks_categoryが表示されないようです。post_formatが必須でなければ紐づけを外してみてください。必須であって、もし画面上に表示する必要がないのであればpublicをfalseにしてみてください。いずれも仕様上難しいようでしたら別の方法を考えます。♥ 0Who liked: No user -
投稿者投稿

