タクソノミーページのレイアウト崩れ

  • このトピックには13件の返信、2人の参加者があり、最後にM Tにより1年、 2ヶ月前に更新されました。
14件の投稿を表示中 - 1 - 14件目 (全14件中)
  • 投稿者
    投稿
  • #20070
    M T
    閲覧者
    5

    【お使いの Snow Monkey のバージョン】v7.2
    いつもお世話になっております。
    どの時点からは不明ですが、自動的にできるタクソノミー(Custom Post Type UIで作成)ページのレイアウトが崩れていました。
    タクソノミーはカスタム投稿タイプで使用。この投稿タイプでは、絞り込み検索プラグインを使用し、通常検索とは別のオリジナルのテンプレを読み込むようにしています。
    絞り込み検索用プラグインを使った時の検索結果は、search.phpで条件分岐させ、オリジナルのテンプレート(以下の①②)で表示しています。
    子テーマ>templates>view>①archive.php
    子テーマ>template-parts>loop>②entry-summary-post.php
    ①を別の名前にして配置 ①の中で読み込んでいる②も変更(classを追加)し、検索結果一覧のレイアウト等をカスタマイズしています。
    ▼表示が崩れたページ(タクソノミー:age)
    https://ohitorisama.site/age/40s/
    ▼同様のテンプレを使った表示が崩れていないページ
    こちら

    以前、Ver6に更新した時、自分でテンプレートを修正して崩れた形と同様ですが、今回は自分でテンプレは修正していません。この時は、何度かやりとりをさせていただいたのですが、テンプレを修正しなくても正常に表示されたので、結局そのままにしました。
    ▼その際のトピック

    以上です。どうぞよろしくお願いいたします。

    0
    #20182
    キタジマ タカシ
    キーマスター
    286

    はタグアーカイブ、

    は検索結果ページなので、違うテンプレートが使われている気がします。タグアーカイブ用のテンプレートをカスタマイズしてもいいのですが、レイアウトの崩れの原因は一覧部分のレイアウトが「シンプル」ではなく「リッチメディア」になっていることなので、他のアーカイブページも「シンプル」になっていいのであれば、カスタマイザーから設定するのが簡単だと思います。

    下記を参考に、記事一覧レイアウトを「シンプル」にしてみてください。

    0
    #20195
    M T
    閲覧者
    5

    ご返信ありがとうございます。
    カスタマイザーを開いてみたのですが、アーカイブページはシンプルになっていました。
    オリジナルのテンプレを使っていることが影響しているのでしょうか。
    (アイキャッチ画像がないので、オリジナルのテンプレートに似ています)

    以下のページは、オリジナルのテンプレートを読んでいます。

    0
    #20212
    キタジマ タカシ
    キーマスター
    286

    あれ、となると子テーマのテンプレートのバージョンが低いのかな…。

    えっと、ちょっと確認してみてほしいのですが、仮に「子テーマ>templates>view>①archive.php」のコードを全部消すと、

    のページの中身は無くなりますか? 無くなるなら正しくテンプレートの読み込みはされていると思うので、何らかコードの修正をしなければいけないのかもしれません。無くならないのなら、別なビューテンプレートが読み込まれているということになると思いますので、ちょっと調査が必要です。

    とりあえず↑を調べてみてもらって、あと、「子テーマ>templates>view>①archive.php」のコードをまるごと共有してもらえますでしょうか?

    0
    #20217
    M T
    閲覧者
    5

    お手数をおかけします。

    子テーマ>templates>view>①archive.phpを消してみると、

    以下の検索プラグインを使った検索結果の中身は消えますが、

    以下ページはそのままでした。

    ①archive.php=search-form0.php(ファイル名変更)の内容

    <?php
    /**
     * @package snow-monkey
     * @author inc2734
     * @license GPL-2.0+
     */
    
    use Framework\Helper;
    ?>
    <div class="c-entry">
    	<header class="c-entry__header">
    		<h1 class="c-entry__title"><?php echo esc_html( Helper::get_page_title_from_breadcrumbs() ); ?></h1>
    	</header>
    <div style="text-align : center"><strong><?php echo $wp_query->found_posts; ?>件の記事が該当しました。</strong></div></br>
    <?php
    			// 検索結果ソート
     if(function_exists('feas_sort_menu') and  $_GET['fe_form_no'] == '0'){ ?>
      <div class="return_link_sp"><a href="https://ohitorisama.site/members-contribution/">検索画面へ</a> </div>
     <div class="container_form0"> <div class="item1_form0"><div id="feas-sort-menu">
        <?php feas_sort_menu(); ?></div> </div>
        <div class="item2_form0"><a href="https://ohitorisama.site/members-contribution/">検索画面へ</a> </div> </div></br>
    <?php } ?>
    
    	<div class="c-entry__body">
    		<div class="c-entry__content p-entry-content">
    			<div class="p-archive">
    				<ul class="c-entries c-entries--<?php echo esc_attr( get_theme_mod( 'archive-layout' ) ); ?>">
    					<?php while ( have_posts() ) : ?>
    						<?php the_post(); ?>
    						<li class="c-entries__item">
    							<?php Helper::get_template_part( 'template-parts/loop/entry-summary-contribution', get_post_type() ); ?>
    						</li>
    					<?php endwhile; ?>
    				</ul>
    			</div>
    		</div>
    
    		<?php Helper::get_template_part( 'template-parts/archive/pagination' ); ?>
    	</div>
    </div>
    0
    #20220
    M T
    閲覧者
    5

    ちなみに、子テーマ
    template-parts>loop>②entry-summary-post.php → entry-summary-contribution.php(名称変更)
    の内容は以下です。

    <?php
    /**
     * @package snow-monkey
     * @author inc2734
     * @license GPL-2.0+
     */
    
    use Framework\Helper;
    
    $terms = get_the_terms( get_the_ID(), 'category' );
    $_term = null;
    if ( $terms && ! is_wp_error( $terms ) ) {
    	$_term  = $terms[0];
    }
    
    // When loaded by widget, $widget_layout is exist.
    if ( isset( $widget_layout ) ) {
    	$layout = $widget_layout;
    } else {
    	$layout = get_theme_mod( 'archive-layout' );
    }
    ?>
    <a href="<?php the_permalink(); ?>">
    	<section class="c-entry-summary c-entry-summary--category-<?php echo esc_attr( $_term ? $_term->term_id : 0 ); ?>">
    		<div class="c-entry-summary__body form0_layaout1">
    			<header class="c-entry-summary__header">
    				<h2 class="c-entry-summary__title">
    					<?php
    					if ( 'rich-media' === $layout ) {
    						Helper::the_title_trimed();
    					} else {
    						the_title();
    					}
    					?>
    				</h2>
    			</header>
    			<div class="c-entry-summary__content form0_text1">
    				<?php
    				ob_start();
    				the_excerpt();
    				echo esc_html( wp_strip_all_tags( ob_get_clean() ) );
    				?>
    			</div>
    
    		</div>
    	</section>
    </a>
    0
    #20291
    キタジマ タカシ
    キーマスター
    286

    以下の検索プラグインを使った検索結果の中身は消えますが、

    archive.php=search-form0.php(ファイル名変更)の内容

    ということは、検索結果は「archive.php」ではなく、「search-form0.php」で表示している、ということですよね。そして、40台のページは検索結果ではなくタグアーカイブなので、「archive.php」が使用されているはずです。

    つまり、40台のページを修正するには、「search-form0.php」ではなく「archive.php」を修正する必要があります。子テーマの中には「archive.php」は入っていますでしょうか?

    0
    #20296
    M T
    閲覧者
    5

    子テーマにarchive.phpは入っていません。
    archive.phpが使われているのですね。

    カスタム投稿タイプ(contribution)の検索結果同様のレイアウトを、タクソノミー(age、adress、genderほか)に適用したいのですが、archive.phpを変更するとそれ以外にも影響してしまうのではないでしょうか。
    条件分岐等が必要でしょうか。
    色々とややこしくなって恐縮です。

    0
    #20408
    キタジマ タカシ
    キーマスター
    286

    タクソノミー(age、adress、genderほか)に適用したいのですが、archive.phpを変更するとそれ以外にも影響してしまうのではないでしょうか。

    そうですね。全てのアーカイブページではなく、特定のタクソノミーだけ「シンプル」のレイアウトになったほうが良い、ということですね?

    特定のタクソノミーに限定するのであれば、カスタマイザーからの設定ではなくコードを書く必要があります。ちょっと書いてみようと思うのですが、ちょっとイマイチどういう構成になっているのかよくわからないので、メールなどで子テーマを一式共有してもらうことはできますでしょうか?

    0
    #20414
    M T
    閲覧者
    5

    お手数をおかけして申し訳ございません。
    slackの方で子テーマファイルを送らせていただきました。

    それと、カスタマイザーのアーカイブページ設定について、以下のことに気づきました。
    (これは、このままでも問題ありませんが、今回のことに関係あるかもしれません。)
    ●カスタム投稿ではなく、固定ページのカテゴリーページについてです。
    カスタマイザーのアーカイブページ設定を開くと、「シンプル」になっているのに、実際は「リッチメディア」になっていました。

    ●通常の検索結果は、問題なく「シンプル」で表示されます。

    ●以下もカスタマイザーでは「シンプル」になっています。

    0
    #20515
    キタジマ タカシ
    キーマスター
    286

    My Snow Monkey に下記のコードを貼り付けてもらうとどうでしょうか?

    /**
     * age, adress, gender のタクソノミーアーカイブのときは、一覧レイアウトを「simple」に固定
     */
    add_filter(
    	'snow_monkey_template_part_render',
    	function( $html, $slug ) {
    		if ( 'template-parts/archive/entry/content/content' === $slug ) {
    			if ( is_tax( 'age' ) || is_tax( 'adress' ) || is_tax( 'gender' ) ) {
    				$html = str_replace( 'c-entries--rich-media', 'c-entries--simple', $html );
    			}
    		}
    		return $html;
    	},
    	10,
    	2
    );
    0
    #20584
    M T
    閲覧者
    5

    ありがとうございます。一覧が正常な形で表示されました!
    あと、度々すみません、タクソノミーではなく、カスタム投稿の一覧が崩れたままなのですが、修正可能でしょうか。
    カスタム投稿「contribution」で以下が崩れた状態です。

    0
    #20592
    キタジマ タカシ
    キーマスター
    286

    良かったです!

    if ( is_tax( 'age' ) || is_tax( 'adress' ) || is_tax( 'gender' ) ) {
    

    の部分を、

    if ( is_tax( 'age' ) || is_tax( 'adress' ) || is_tax( 'gender' ) || is_post_type_archive( 'contribution' ) ) {
    

    にするとどうでしょうか?

    0
    #20593
    M T
    閲覧者
    5

    バッチリです!
    たいへんお手数おかけしました。ありがとうございました。
    トピック閉じさせていただきます。

    0
14件の投稿を表示中 - 1 - 14件目 (全14件中)
  • トピック「タクソノミーページのレイアウト崩れ」には新しい返信をつけることはできません。