フォーラムへの返信
-
投稿者投稿
-
なるほどです。
PHPのコード追加が必要なのかなぁとボンヤリ思いつつ、
そうですね、Snow Monkey に機能としては無いので PHP を書く必要はでてきちゃいますね。とりあえず簡単そうな方法を。カテゴリーページの抜粋部分を本文に書き換えるコードです。My Snow Monkey プラグインか子テーマの
functions.php
に追加してみてください。add_filter( 'snow_monkey_pre_template_part_render_template-parts/loop/entry-summary/content/content', function( $html ) { if ( is_category( 'ここにカスタマイズしたいカテゴリーアーカイブのスラッグを記述' ) ) { ob_start(); ?> <div class="u-entry-content"> <?php the_content(); ?> </div> <?php return ob_get_clean(); } return $html; } );
カテゴリーページではなく固定ページに表示させたい場合は、記事の一覧を表示させるショートコードかなにか作って対応する形になります。でもそれだと Shortcodes Ultimate とやってることは実質的に同じだと思うので、それなら Shortcodes Ultimate でも良いかもしれません。
特定のカテゴリー記事の抜粋ではなくて、本文を全部表示させたいということですかね?
♥ 0Who liked: No user先程のコードだと条件分岐させていないので、全部が news_category2 になるようになっています。条件によって表示させるタクソノミーを変える場合は
$args['vars']['_terms'] = get_the_terms( get_the_ID(), 'news_category2' );
の部分を条件によって変える形になりますね。例えば
– news_category1 のターム一覧ページでは news_category2 のタームがラベルに表示
– news_category2 のターム一覧ページでは news_category1 のタームがラベルに表示
– それ以外はデフォルトだとすると、
if ( is_tax( 'news_category1' ) ) { $args['vars']['_terms'] = get_the_terms( get_the_ID(), 'news_category2' ); } elseif ( is_tax( 'news_category2' ) ) { $args['vars']['_terms'] = get_the_terms( get_the_ID(), 'news_category1' ); }
になります。
♥ 0Who liked: No userこんな感じでどうでしょう? My Snow Monkey プラグインか子テーマの
functions.php
に追記してみてください。add_filter( 'snow_monkey_get_template_part_args_template-parts/loop/entry-summary/term/term', function( $args ) { // カスタム投稿タイプ「news」以外のときは処理しない if ( 'news' !== get_post_type() ) { return $args; } // 表示するタームを書き換える(この場合はタクソノミー「news_category2」に変更) $args['vars']['_terms'] = get_the_terms( get_the_ID(), 'news_category2' ); return $args; } );
♥ 0Who liked: No user法人買取と個人買取の name 属性値を同じにすればどうですかね?
♥ 0Who liked: No userCSS で消すのがいちばん簡単だと思います。
各ページにはそのページ専用の class が付与されているのでそれを使います。例えば「税務顧問・記帳支援」のページの場合で説明します。「税務顧問・記帳支援」のページを開き、右クリックするとポップアップ内に「ページのソースを表示」という項目がでると思うのでそれをクリックしてください。するとそのページのソースが表示されるので、
<body data-rsssl=1 class="page-template-default page page-id-10435 wp-custom-logo l-body--one-column-slim l-body" id="body"
のように
<body
で始まる行を探してください。そこにあるpage-id-10435
がそのページ用の class になります。あとは、ダッシュボード→カスタマイザー→追加 CSS を開いて、
.page-id-10435 .p-breadcrumbs-wrapper { display: none; }
と記述すればパンくずリストが消えます。複数ページのパンくずリストを消したい場合は
.page-id-10435 .p-breadcrumbs-wrapper, .page-id-10436 .p-breadcrumbs-wrapper { display: none; }
のようにカンマ区切りでセレクタを追加してください。
あとヘッダーメニューも消したいとのことですが、「ヘッダーメニュー」とは具体的にどの部分のことを指していますかね? ロゴも含めたヘッダー全体なのか、あくまでロゴを除いたメニュー部分だけなのか…
個人的には基本的にはこれまで書いてきたことと同じ意見です。利用者が多いプラグインなのでネット上の検証されていないコードよりは正しく動くように対策がされているとは思いますが、よほどの理由がない限りはルーティングは手を入れないほうが良いと考えています。
解決済みということで、トピックのクローズをお願いします!
♥ 0Who liked: No userルーティングを定義し、そのルーティングに基づき表示すべきページが決定され、それでページが表示されるわけなので、ルーティングの段階で
is_archive()
等で分岐させることはできないのではないでしょうかね? 既存のルーティングを書き換えるなら、必要なルーティングを全部再定義するくらいの覚悟が必要な気がします…(とはいえ前にも書いたように僕はルーティングに詳しくないので、実際のところはわかりませんが♥ 0Who liked: No userとなるとやはり追加しているコードに問題がありそうですね…。こちらの環境でも、いずれのテーマでも404になることを確認できました。
My Snow Monkey に追加されているコードを見ていて、下記が気になりました。
function remcat_rewrite($wp_rewrite) { $new_rules = array('(.+)/page/(.+)/?' => 'index.php?category_name='.$wp_rewrite->preg_index(1).'&paged='.$wp_rewrite->preg_index(2)); $wp_rewrite->rules = $new_rules + $wp_rewrite->rules; } add_filter('generate_rewrite_rules', 'remcat_rewrite');
リライトには詳しくないので具体的にどうしたら良いかはわからないのですが、リライトルールの先頭に
array('(.+)/page/(.+)/?' => 'index.php?category_name='.$wp_rewrite->preg_index(1).'&paged='.$wp_rewrite->preg_index(2));
を追加していますよね。これ多分 URL に/page/
が含まれていたらクエリにcategory_name
を追加する的な意味なのかなと。そうすると各アーカイブページの2ページ目以降を開こうとするとカテゴリーページを探すことになっちゃうのかな?と思うので、おそらくこれが邪魔している気がします。が、このコードも何か必要があって追加していると思うので、消せば良いという話なのかはちょっとわからないですね…。♥ 0Who liked: No userあ、今気づいたのですが、テーマが Snow Monkey じゃない場合は My Snow Monkey プラグインは有効化していたとしても処理が実行されないので、もし TwentyTwentyOne にしたときに category を削除するコードを My Snow Monkey から別の場所に書き換えたりしていないのなら、そのコードは実行されていないことになります。とりあえず TwentyTwentyOne の functions.php に貼り付けたりすれば実行されます。そのあたりは動作確認されましたかね?
♥ 0Who liked: No userダッシュボード → CPT UI → 登録済み → コードを取得
で表示されるコードも共有をお願いします。
♥ 0Who liked: No userなるほどです。Snow Monkey はページの表示に独自のレイアウト/ビューコントローラーの仕組みを使っているので、それとの相性の問題はあるのかもです。
一応こちらでも再現してみたいなと思うので、My Snow Monkey に記述しているコードをまるごとここに貼り付けてもらっても良いでしょうか? 404を再現するのに必要なプラグインや設定があればそれも詳しく教えてください。
♥ 0Who liked: No userこの状態でテーマを Snow Monkey に変えるとやはり 404 になりますか?
♥ 0Who liked: No user -
投稿者投稿