フォーラムへの返信
-
投稿者投稿
-
これは全然気づいていませんでした!
こちらでも試してみたのですが、
– 全く開けないというよりは異常に押しにくい / 異常に反応がわるい
– Snow Monkey のウィジェットだけでなくコアウィジェットでも同様
– ダッシュボード > ウィジェットの画面だと操作できるという状態でした。
ためしに手持ちの他の環境でも見てみたのですが、
– 問題なし : plugins.2inc.org
– 同様の問題あり : habakiri.2inc.orgという感じでして、Snow Monkey にのみ発生しているという感じではありませんでした。TwentyFifteen に切り替えてみたりもしたのですが症状が改善されなかったので、なんらかのプラグインによるもの?という可能性もあるかなと思いました。
もし可能だったらで構いませんので、テーマを他のものに変えてみて症状が改善されるかどうか試してみてほしいです。
♥ 0Who liked: No userWordPress はデフォルトではカスタム投稿タイプの日付アーカイブページはサポートされていなかったと思います。そのため、Snow Monkey では特にそれ用の調整処理はいれていません。
カスタム投稿タイプの日付アーカイブページはどのような方法で実現されていますか? こちらでも同じ方法でカスタム投稿タイプの日付アーカイブページを再現して、Snow Monkey 側で調整可能か、もしくは個々の環境で調整していただく必要があるか、調査してみようと思います。
♥ 0Who liked: No user単純にやるとすれば、下記の CSS で固定ページのタイトルを消して、
.page .c-entry__header { display: none; }あとは、セクションブロックの全幅を記事の最初に挿入して、その中に CTA なりスライダーなりを入れる、という感じでしょうか。
♥ 0Who liked: No user/子テーマ/templates/view/archive-カスタム投稿タイプ.phpの中に、<?php Helper::get_template_part( 'template-parts/archive/entry/header/header', 'post' ); ?>と
<?php Helper::get_template_part( 'template-parts/archive/entry/content/content', 'post' ); ?>という記述がありますか?
このように第2引数が
postとなっていると、投稿のビューテンプレートが「投稿」になっているのと同じ意味になるので、postじゃなくてカスタム投稿タイプのスラッグに書き直してみてください。例えばnewsなら、<?php Helper::get_template_part( 'template-parts/archive/entry/header/header', 'news' ); ?>といった感じです。
ちなみに、Snow Monkey を直接使っていて途中から子テーマにするのはちょっと面倒なので、そういう場合は My Snow Monkey の中に子テーマ的なディレクトリをつくって、そこにテンプレートをおいて上書きする、ということもできます。
♥ 0Who liked: No userSnow Monkey は文字色の設定はなるべく持たないようにしているので、箇所ごとに CSS で調整する必要があります。色の設定を持つと、コードでのカスタマイズを含めたカスタマイズ性が限定的なものになってしまうことが多いためです。
例えば、グローバルナビゲーションの項目の文字色であれば次のような CSS で変更できます。
.p-global-nav .c-navbar__item>a { color: blue; } @media (min-width: 1024px) { .p-global-nav .c-navbar__item:hover>a, .p-global-nav .c-navbar__item:active>a .p-global-nav .c-navbar__item:focus>a { color: yellow; } }♥ 0Who liked: No userサムネイルギャラリーと同じ構造の HTML を書けば表示することはできます。
<div class"smb-thumbnail-gallery"> <div class="smb-thumbnail-gallery__canvas" data-smb-thumbnail-gallery='{ "arrows": true, "autoplay": true }'> <!-- ここから画像。カスタムフィールドの画像を取得してループ --> <div class="smb-thumbnail-gallery__item"> <div class="smb-thumbnail-gallery__item__figure"> <img src=> </div> </div> <!-- ここまで --> </div> </div>が、今後サムネイルギャラリーブロックの HTML 構造や JavaScript が変更になった場合は正しく動作しなくなる可能性があります。カスタムフィールドと連動させる必要性が絶対的なものでなければ、サムネイルギャラリーブロックを使うほうが運用はしやすいのではと思います。
♥ 0Who liked: No user解決できて良かったです! 今回はフックで書き換えましたが、もっと独自の HTML にしたい場合はテンプレートをつくるほうが良いので、そういう場面が来たらまたトピックたててください。閉じます!
♥ 0Who liked: No userおー!良かったです!では僕が
newsとしていたところをtournament_allに変更してみてください。こうかな。add_filter( 'snow_monkey_template_part_render', function( $html, $slug, $name ) { if ( 'template-parts/loop/entry-summary' === $slug && 'tournament_all' === $name ) { $html = preg_replace( '|<a [^>]+?>|ms', '', $html ); $html = str_replace( '|</a>', '', $html ); return $html; } return $html; }, 10, 3 );♥ 0Who liked: No userありがとうございます!
デザイン > news アーカイブページ設定 > ビューテンプレートが「デフォルト」の場合は
$nameにnewsが入ってくるはずなのですが、postになってますね。なんでだ…。念のため、もう一度「デザイン > news アーカイブページ設定 > ビューテンプレート」の設定を確認してみてもらえないでしょうか?やっぱり「デフォルト」になっているようでしたら、ちょっと別の方法を考えてみます。
♥ 0Who liked: No userがーすみません!間違えました、
$newsじゃなくて$nameでした。var_dump( $slug ); var_dump( $name );全てのテンプレートの読み込み箇所に出力されるので大量にはでます。一覧部分で
template-parts/loop/entry-summary、newsと本来でてほしいところが多分でないようになっているはずなので、なんとでるかを確認したいです!♥ 0Who liked: No user色々やり方はあると思いますが、CSS でできることは CSS でやるほうが手軽でメンテナンスもしやすいかなぁと思います。解決済みということでトピックとじます!
♥ 0Who liked: No userSnow Monkey Blocks に、「任意のタクソノミーの投稿」というブロックがあります。これで任意のカスタムタクソノミーを選択したブロックを何個か置くのが一番簡単かなと思います。問題点としては、「gallery アーカイブページを固定ページ化する必要がある」「全件表示はできない(タクソノミーごとに最新の○件が表示される)」という点です。
もしくは、もう gallery アーカイブページのテンプレートをつくっちゃうかですね。子テーマをお使いのようですので、まず下記のファイル(gallery アーカイブページのコンテンツ部分)を子テーマにつくってください。
子テーマ/template-parts/archive/entry/content/content-gallery.phpで、ちょっと長いですが、こんな感じでしょうか。
<?php use Framework\Helper; $post_type_object = get_post_type_object( get_post_type() ); $taxonomies = isset( $post_type_object->taxonomies ) ? $post_type_object->taxonomies : []; $entries_layout = get_theme_mod( get_post_type() . '-entries-layout' ); ?> <div class="c-entry__content p-entry-content"> <?php foreach ( $taxonomies as $taxonomy ) : ?> <?php $terms = get_terms( [ 'taxonomy' => $taxonomy ] ); ?> <?php foreach ( $terms as $term ) : ?> <h3><?php echo esc_html( $term->name ); ?></h3> <div class="p-archive"> <?php $posts = get_posts( [ 'post_type' => get_post_type(), 'posts_per_page' => -1, 'tax_query' => [ [ 'taxonomy' => $term->taxonomy, 'field' => 'slug', 'terms' => [ $term->slug ], ] ], ] ); ?> <ul class="c-entries c-entries--<?php echo esc_attr( $entries_layout ); ?>"> <?php foreach ( $posts as $post ) : setup_postdata( $post ); ?> <?php the_post(); ?> <li class="c-entries__item"> <?php Helper::get_template_part( 'template-parts/loop/entry-summary', get_post_type(), [ '_entries_layout' => $entries_layout, ] ); ?> </li> <?php endforeach; wp_reset_postdata(); ?> </ul> </div> <?php endforeach; ?> <?php endforeach; ?> </div>♥ 0Who liked: No userうーん、なんでだろう…。僕も CPT UI でスラッグ news でつくっています。
上のコードの
if ( 'template-parts/loop/entry-summary' === $slug && 'news' === $name ) {のところを、
var_dump( $slug ); var_dump( $news ); if ( 'template-parts/loop/entry-summary' === $slug && 'news' === $name ) {と足してみて、一覧の各項目のところにどのような文字列が出力されるか確認してみてもらえますか?
♥ 0Who liked: No user了解です!
一応方法としては2つ考えられます。
–
template-parts/loop/entry-summary-news.phpをつくる
– フックでリンクを消す(デザイン > news アーカイブページ設定 > ビューテンプレートが「デフォルト」である必要あり)1つめの方法のほうが自由がききますが、2のほうが貼り付けるだけでさくっとやれるので、とりあえず2つめの方法を共有しますね。下記のコードを My Snow Monkey プラグイン、もしくは子テーマの
functions.phpに貼り付けてみてください。add_filter( 'snow_monkey_template_part_render', function( $html, $slug, $name ) { if ( 'template-parts/loop/entry-summary' === $slug && 'news' === $name ) { $html = preg_replace( '|<a [^>]+?>|ms', '', $html ); $html = str_replace( '|</a>', '', $html ); return $html; } return $html; }, 10, 3 );♥ 0Who liked: No user念のため確認させてください。
「投稿一覧」というのは、例えば「カスタム投稿タイプ news のカスタム投稿アーカイブページ」のようなことであっていますか?
また、「個別投稿ページへのリンクを無くしたい」というのは、例えばリッチメディア形式の項目がばーっと並んでいて、通常はクリックしたらそのページに移動するところを、クリックできないようにしたい(記事に移動させたくない)ということであっていますか?
♥ 0Who liked: No user -
投稿者投稿
