フォーラムへの返信
-
投稿者投稿
-
あー、メニューキャッシュ機能!キャッシュにしても全部同じになるという挙動は変なのでバグがあるのかもしれません。調査しますね。
♥ 0Who liked: No user上記コードだけを張り付けてもヘッダーが出力されません。
snow_monkey_pre_page_header_image_url
とsnow_monkey_is_output_page_header_title
のコードも貼り付けていますかね?snow_monkey_is_output_page_header
だけでは出ないです。snow_monkey_is_output_page_header
の中でecho
するのは作法として正しくないのでちゃんと修正したほうが良いと思うのですが、うーん、バージョンが同じで挙動が違うというのは、多分ちょっとした間違いか、他のコードが影響しているのかなぁという感じです。以下確認です。
– template-parts/page-header.php を子テーマで上書きされていますか?
– WooCommerce 以外の全てのプラグインを停止し、子テーマの中身を functions.php だけにし、functions.php の中身を僕が提示したコードだけにした場合でも状況は変わらないでしょうか?Snow Monkey v5 を開発中ですが、WooCommerce はこれから伸びてくると思いますし、毎回 functions.php で調整するのは大変なので、v5 に機能追加して WooCommerce の場合はカスタマイザーからページヘッダーを設定できるようにするのも良いかもですね。
♥ 0Who liked: No user表示されるようにはなったのですが、投稿者の名前、カテゴリー名、日付もまとめて移動されてしまうのでここからは表示を無くし、元の場所にカテゴリーやタブ名のみ表示させたいのですが、
上記は、管理画面からの設定ではなく、CSSでの非表示や、テンプレートファイルの加工となりますでしょうか?あ、なるほどです、タイトルだけ、ということですね。そういうことでしたら設定ではできないのでカスタマイズが必要になります。
まずカスタマイザーで設定をページヘッダーに戻してください。
そして、子テーマの functions.php に下記のコードを貼り付けてください。
/** * 投稿のページヘッダーにタイトルを表示 * 投稿メタも表示されるのでそれは CSS で非表示にする */ add_filter( 'snow_monkey_is_output_page_header_title', function( $return ) { if ( is_singular( 'post' ) ) { return true; } return $return; } );
そして、子テーマの CSS か、カスタマイザー > 追加 CSS に次の CSS を貼り付けてください。
/* ページヘッダーの投稿メタを非表示 */ .single-post .c-page-header__meta { display: none; } /* ページタイトルを非表示 */ .single-post .c-entry__title { display: none; }
♥ 0Who liked: No userv4.4.34 でテストしてみました。
詳細ページで画像が表示されないバグがありましたのでコード修正しました、下記で貼り付けなおしてください。
/** * WooCommerce の商品一覧ページで、ページヘッダーを表示 */ add_filter( 'snow_monkey_is_output_page_header', function( $return ) { if ( function_exists( 'is_woocommerce' ) && is_woocommerce() ) { if ( is_shop() || is_singular( 'product' ) ) { return true; } } return $return; } ); /** * WooCommerce の商品一覧ページでページヘッダーに表示する画像を指定 */ add_filter( 'snow_monkey_pre_page_header_image_url', function( $url ) { if ( function_exists( 'is_woocommerce' ) && is_woocommerce() && is_shop() ) { return '画像の URL'; } return $url; } ); /** * WooCommerce の商品一覧ページでページヘッダーにタイトルを表示 */ add_filter( 'snow_monkey_is_output_page_header_title', function( $return ) { if ( function_exists( 'is_woocommerce' ) && is_woocommerce() && is_shop() ) { return true; } return $return; } );
一覧ページで空白が表示される件ですが、上記のコードで
return '画像の URL';
としているからではないでしょうか?カテゴリーは商品ページと違って画像を持っておらず、自分で適当な URL を指定しないといけないのでreturn '画像の URL';
としていたのですが、もしそのまま変更せずにはると存在しない画像 URL を参照することになるので空白が表示されます。デベロッパーツールでみるとこんな感じです。もしここの URL を変更されていないのでしたら、適当な画像 URL に変更してみてください。
♥ 0Who liked: No userあ、すみません、時間差で投稿していました、すでに最新版ですね。ちょっともう一度こちらでも試してみます。
ちなみに、
のサイトではなくてローカルで検証中でしょうか?
♥ 0Who liked: No userバージョン4.4.25 です
最新版にアップしてみてください! 4.4.25 あたりからのアップデートはバグ修正のみでテンプレートや CSS をごりごり変えたりしていないので影響はほとんど無いはずです。
♥ 0Who liked: No user500エラーであれば、エラーログになんらか詳細のメッセージがでていませんでしょうか? WAF というよりは、シンタックスエラー的なものの気がしますので。
一応、お使いのサーバーの PHP のバージョンもお聞きしたいです。♥ 0Who liked: No userあ、そうか、間違いました、wp-seo-meta-robots まで弾いてました。
こうですね。
foreach( $posts_array as $post ) { // ここから追加 $meta_robots = get_post_meta( $post->ID, 'wp-seo-meta-robots', true ); $meta_robots = apply_filters( 'wp_seo_meta_robots', $meta_robots ); if ( $meta_robots && in_array( 'noindex', $meta_robots ) ) { continue; } // ここまで追加 $post_modified = explode(' ', $post->post_modified);
♥ 0Who liked: No user上記ページに従い、固定ページのアイキャッチ画像の設定を「ページヘッダーの上にタイトルを表示」にしてみてください。
例えばアイキャッチで画像の設定ウインドウに進むと表示される入力欄のうち、
「タイトル」にはページやカテゴリタイトル、
「キャプション」にはタイトルのローマ字のルビ、
「説明」には文章が入ればとても便利なのですが、このあたりはカスタマイズで可能でしょうか?これはアイキャッチに設定した画像の設定を読み取って、ページヘッダーのタイトル部分に表示したい、ということですかね?ページヘッダー部分では画像の URL はとれますが画像の ID はとれないので、ちょっとそれは難しいのじゃないかなと思います。
♥ 0Who liked: No user11月28日 9:44 に投稿した後に、間違いがあってすぐにコードを修正したのですが、「
<img src="http://127.0.0.1:8080
」から察するにその古いコードを貼り付けられている、という可能性があるかもしれません。もう一度 11月28日 9:44 の投稿をコピペしなおしてみても変わりませんでしょうか?
♥ 0Who liked: No user上記のコードを試したわけではないのでちょっと間違いがあるかもしれませんが、こんな感じのコードで参考になりませんでしょうか?
foreach( $posts_array as $post ) { // ここから追加 $meta_robots = get_post_meta( $post->ID, 'wp-seo-meta-robots', true ); $meta_robots = apply_filters( 'wp_seo_meta_robots', $meta_robots ); if ( ! $meta_robots || in_array( 'noindex', $meta_robots ) ) { continue; } // ここまで追加 $post_modified = explode(' ', $post->post_modified);
♥ 0Who liked: No userブロックエディターは REST API 必須なのでまさにそれですね!
トピック閉じます。♥ 0Who liked: No user詳しくありがとうございます!
4.4.32 であれば最新版なのででるはずなんですよね。
このカテゴリーの設定は、カテゴリーページを開いているときにしか表示されないので、可能性としてはカテゴリーページ以外を開いた状態でカスタマイザーを起動している、というの一番怪しいかなと思います。カテゴリーページを開いていると、管理バーに「カテゴリーの編集」というリンクがでます。これがでているのを確認して「カスタマイズ」をクリックすると、カテゴリーページを開いた状態でカスタマイザーを開くことができます。
もしくは、カスタマイザーを起動したあとに、カスタマイザーのプレビューの中でカテゴリーページに移動しても表示されます。確認されてみてください!
♥ 0Who liked: No user試したところ、投稿記事だとPCの時であれば、サイドバーとコンテンツ上部の両方に目次が表示されてしまうのでややゴチャゴチャしている感じです。これをPCの時はサイドバーに目次だけにしたいですが、そう言った設定は可能でしょうか?(モバイルの時はコンテンツ上部のみ出したいので、今のままで問題なさそうです)
やるとすれば、そういった設定項目は無いので CSS で PC サイズのときだけ消す、という形になります。Snow Monkey 公式サイトでいうと、サイドバーではなくて追尾サイドバーに目次ウィジェトを入れています。記事上の目次はスクロールすると消えてしまいますが、追尾サイドバーに目次ウィジェットを入れておけばページ上の目次が見えなくなったくらいででてきて固定される、という塩梅です。ただ、サイドバーにも何らかウィジェットを入れておかないと最初から重複して表示されてうっとうしいかもしれませんね。
固定ページでも自動で目次を出すか選択出来る設定とかはありますでしょうか?
これも設定としてはありません。子テーマで固定ページ用のテンプレートを上書きすることで実現できます。
/子テーマ/templates/view/content-page.php
にコピーし、<div class="c-entry__content p-entry-content"> <?php if ( get_option( 'mwt-display-contents-outline' ) ) { get_template_part( 'template-parts/contents-outline' ); } ?>
となるように修正してみてください。
♥ 0Who liked: No userv4.4.32 で修正しました!
♥ 0Who liked: No user -
投稿者投稿