フォーラムへの返信
-
投稿者投稿
-
これの可能性ありますかね?
♥ 0Who liked: No userなるほどです。基本的にカテゴリー名は一覧部分のカテゴリーラベルに使用するという感じですかね?
今回は GONSY さんのやり方で解決されたということで良かったのですが、もうひとつの方法として、カテゴリーだけで管理せずに、カスタムタクソノミーを追加して、カテゴリー名は「Works」「Profile」、カスタムタクソノミーで「um production」「um report」を付与するようにして、記事一覧部分のカテゴリーラベル部分をカテゴリーじゃなくてカスタムタクソノミーを表示するようにする、という方法もあるかなと思いました。
解決済みということで、クローズをお願いします!
♥ 0Who liked: No userなるほどです。その場合であれば、もう一覧表示部分を自作してしまっても良いかもですね。HTML を自分で書かないといけないのが少々面倒ですが…。
// 記事一覧部分を完全に独自のものに置き換える add_filter( 'snow_monkey_pre_template_part_render_template-parts/archive/archive', function( $null ) { // 投稿タイプが news のとき以外は通常のレンダリングをおこなう if ( 'news' !== get_post_type() ) { return $null; } ob_start(); global $post; ?> <h2>役員</h2> <ul> <?php $_posts = get_posts( ... ); foreach ( $_posts as $post ) { setup_postdata( $post ); ?> <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li> <?php } wp_reset_postdata(); ?> </ul> <h2>事務局</h2> <ul> <?php $_posts = get_posts( ... ); foreach ( $_posts as $post ) { setup_postdata( $post ); ?> <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li> <?php } wp_reset_postdata(); ?> </ul> <?php return ob_get_clean(); } );
♥ 0Who liked: No userお使いの Snow Monkey のバージョンが 20.3.3 ということですが、v20.4.2 で、どんぴしゃではないのですが関連部分の修正を入れているので、もしかしたらアップデートで直るかもしれません。
特に古いバージョンを使わないといけない理由がないのであれば、アップデートして確認してみてください。
♥ 0Who liked: No userコード書いてみました。前述したようにメンテナンス性が非常によろしくなさそうなので、あまり推奨はできません…。
著者の前にカテゴリー名が表示されます。add_filter( 'render_block_snow-monkey-blocks/spider-pickup-slider', function( $block_content, $block, $wp_block ) { $default_attributes = array(); $meta_attributes = (array) $wp_block->block_type->attributes; foreach ( $meta_attributes as $name => $meta_attribute ) { $default_attributes[ $name ] = isset( $meta_attribute['default'] ) ? $meta_attribute['default'] : null; } $attributes = array_merge( $default_attributes, $block['attrs'] ); ob_start(); $query_args = array( 'post_type' => 'any', 'posts_per_page' => 0 === $attributes['postsPerPage'] ? -1 : $attributes['postsPerPage'], 'suppress_filters' => false, 'tax_query' => array( array( 'taxonomy' => 'post_tag', 'terms' => array( 'pickup' ), 'field' => 'slug', ), ), ); if ( $attributes['random'] ) { $query_args = array_merge( $query_args, array( 'orderby' => 'rand', ) ); } $query = new WP_Query( array_merge( $query_args, array( 'ignore_sticky_posts' => true, 'no_found_rows' => true, ) ) ); if ( ! $query->have_posts() ) { return; } $classnames[] = 'smb-spider-pickup-slider'; if ( ! empty( $attributes['className'] ) ) { $classnames[] = $attributes['className']; } if ( isset( $attributes['align'] ) ) { if ( 'full' === $attributes['align'] ) { $classnames[] = 'alignfull'; } elseif ( 'wide' === $attributes['align'] ) { $classnames[] = 'alignwide'; } } // @todo 本当は get_block_wrapper_attributes を使いたいけど何故かエラーがでる // $block_wrapper_attributes = get_block_wrapper_attributes( // array( // 'class' => implode( ' ', $classnames ), // ) // ); ?> <div <?php // echo $block_wrapper_attributes; ?> class="<?php echo esc_attr( implode( ' ', $classnames ) ); ?>" data-interval="<?php echo esc_attr( 0 < $attributes['interval'] ? $attributes['interval'] * 1000 : null ); ?>" data-fade="<?php echo esc_attr( $attributes['fade'] ? 'true' : 'false' ); ?>" > <div class="spider"> <div class="spider__canvas"> <?php $index = 0; ?> <?php while ( $query->have_posts() ) : ?> <?php $query->the_post(); $thumbnail_size = wp_is_mobile() ? 'large' : 'full'; // ここからカテゴリーの追加 $categories = get_the_category( get_the_ID() ); ?> <div class="spider__slide" data-id="<?php echo esc_attr( $index ); ?>"> <?php the_post_thumbnail( $thumbnail_size, array( 'class' => 'spider__figure' ) ); ?> <div class="smb-spider-pickup-slider__item"> <div class="smb-spider-pickup-slider__item__title"> <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a> </div> <ul class="smb-spider-pickup-slider__item__meta c-meta"> <?php // ここでカテゴリーを表示 ?> <li class="c-meta__item c-meta__item--category"><?php echo esc_html( $categories[0]->name ); ?></li> <li class="c-meta__item c-meta__item--author"><?php echo get_avatar( get_post()->post_author ); ?><?php echo esc_html( get_the_author() ); ?></li> <li class="c-meta__item"><?php echo esc_html( get_the_time( get_option( 'date_format' ) ) ); ?></li> </ul> </div> </div> <?php $index ++; ?> <?php endwhile; ?> <?php wp_reset_postdata(); ?> </div> <?php if ( $attributes['arrows'] ) : ?> <button class="spider__arrow" data-direction="prev">Prev</button> <button class="spider__arrow" data-direction="next">Next</button> <?php endif; ?> </div> <?php if ( $attributes['dots'] ) : ?> <div class="spider__dots" data-thumbnails="<?php echo esc_attr( $attributes['dotsToThumbnail'] ? 'true' : 'false' ); ?>" > <?php $index = 0; ?> <?php while ( $query->have_posts() ) : ?> <?php $query->the_post(); ?> <button class="spider__dot" data-id="<?php echo esc_attr( $index ); ?>" <?php if ( $attributes['dotsToThumbnail'] ) : ?> data-has-thumbnail="<?php echo esc_attr( has_post_thumbnail() ? 'true' : 'false' ); ?>" <?php endif; ?> > <?php if ( $attributes['dotsToThumbnail'] ) : ?> <?php the_post_thumbnail( 'medium', array( 'class' => 'spider__figure' ) ); ?> <?php else : ?> <?php echo esc_html( $index ); ?> <?php endif; ?> </button> <?php $index ++; ?> <?php endwhile; ?> <?php wp_reset_postdata(); ?> </div> <?php endif; ?> </div> <?php return ob_get_clean(); }, 10, 3 );
もしかしたら今後のアップデートで影響がでるかもしれませんが、とりあえず現状ではこんな感じでしょうか…。
add_filter( 'wpp_custom_html', function( $popular_posts, $instance ) { global $post; ob_start(); ?> <ul class="c-entries c-entries--rich-media"> <?php foreach ( $popular_posts as $popular_post ) : ?> <?php $post = get_post( $popular_post->id ); ?> <?php setup_postdata( $post ); ?> <li class="c-entries__item"> <?php $taxonomies = get_post_taxonomies( get_the_ID() ); $_taxonomy = ! empty( $taxonomies[0] ) ? $taxonomies[0] : false; $_terms = ( $_taxonomy ) ? get_the_terms( get_the_ID(), $_taxonomy ) : []; \Framework\Helper::get_template_part( 'template-parts/loop/entry-summary', $args['_name'], array( '_entries_layout' => 'rich-media', '_display_author' => true, '_display_published' => true, '_display_item_excerpt' => true, '_terms' => $_terms ? array( $_terms[0] ) : array(), '_display_meta' => true, ) ); ?> </li> <?php endforeach; ?> </ul> </div> <?php wp_reset_postdata(); return ob_get_clean(); }, 10, 2 );
とうことは、今は
– タクソノミーAの記事1
– タクソノミーAの記事2
– タクソノミーAの記事3
– タクソノミーAの記事4
– タクソノミーAの記事5
– タクソノミーBの記事1
– タクソノミーBの記事2
– タクソノミーBの記事3
– タクソノミーBの記事4
– タクソノミーBの記事5という感じで10件連続で一覧表示してあって、特に A と B が別々の div で囲まれるようなカスタマイズはしていないということですよね?
このプラグインを使っていると実現難しいでしょうか??
プラグインを使っているから、というのは特に影響はないかなぁと思うのですが、並列に並んでいる間に要素を追加するというのが結構難しそうですね。
ちなみにアーカイブページなので11件目以降も存在しえると思うのですが、そのページングはどういう感じになるのでしょうか?
タクソノミーAの見出し
└タクソノミーA5つ
タクソノミーBの見出し
└タクソノミーB5つ
ページネーションとなっていたとしたら、タクソノミー Aの2ページ目に行きたいなーと閲覧者が期待する可能性もあると思いますし、ページネーションがタクソノミーBのもの(実際はアーカイブ甲のもの)と思われる可能性もありそうだなと…。ということだと、そのレイアウトにすること自体を考え直したほうが良いという可能性もあるかなと思ったのですがどうでしょうか?
2ページ目が存在せず今後も10件で固定だということなら、カスタマイズの方法自体も変わってくるかなーと…。
♥ 0Who liked: No user@mrc さん
ちなみにですが、カテゴリー名とページ上の表示タイトルを別にしたい理由ってどんなものでしょうか?
♥ 0Who liked: No userまず反映されない原因を確認したほうが良いと思います。
– 当該ファイルが本番環境のサーバー上に正しくアップロードされているか(画面で表示が反映されている、ではなく、実際に本番環境上のファイルを開いてコードが変更されているか確認)
– 正しく変更が反映されている場合は、キャッシュや記事の反映漏れ等が考えられそう
– 変更が反映されていない場合は、All-in-One WP Migration の設定ミス等が考えられそう(All-in-One WP Migration には詳しくないのでなにかそのような設定があるのかもわかりませんが…)♥ 0Who liked: No userいやいやいや、完全に僕のミスなので!!!
♥ 0Who liked: No userすみません!バージョン番号を間違ってしまって、正しくは 20.5.0 になります。一旦 24.5.0 を消してから 20.5.0 をリリースするので、お手数おかけしますが zip でアップデートをお願いします…(24.5.0 のほうが大きくて自動通知はでないので…)
♥ 0Who liked: No userSnow Monkey には完全に自由に配置する機能は無いので、セクションブロックの中に画像ブロックを配置、それぞれの画像ブロックに独自の CSS クラスを設定、それらの CSS クラスに対して
position: absolute
等のスタイルを書く(追加 CSS 等を利用)、がぱっと思いつく方法かなと思います。♥ 0Who liked: No user -
投稿者投稿