フォーラムへの返信
-
投稿者投稿
-
HTML構造のどの部分にどう入れたいのかがわからないので、これが正しいのか判断できませんが、ページヘッダー部分(ページタイトルなどを出力している部分)をDOM構造ごと非表示にするには、このようなコードで実現できると思います。条件分岐は必要に応じて書き換えてください。
add_filter( 'snow_monkey_template_part_render_template-parts/content/entry/header/header', function ( $html ) { if ( is_page() ) { return; } return $html; } );
単純に固定ページで出力させていないだけです。
そして、任意の場所に独自のタイトルを出力する場合ですが、例えば
the_content
の最上位に挿入したい場合(これだと上記を消す意味がないのであれですが)、add_filter( 'the_content', function ( $content ) { if ( is_page() ) { $page_title = '<h1 class="original-page-title">' . get_the_title() . '</h1>'; $content = $page_title . $content; return $content; } return $content; } );
こんな感じでできると思います。一応動作は検証してあります。
デザインの都合上、ページタイトル部分の出力位置を変えたいということだと思うのですが、DOM構造的にどの部分を削除して、どのようなDOMを具体的に入れたいのかを明確に書かれた方がストレートな返答をしやすいので、問題解決には近道になると思います。
あと、開発段階とは言え現状が見られる共有URLを用意されると、よりスピーディーかと思います。
ご確認ください。
♥ 0いいねをした人: 居ません最終的なHTML構造にも寄るので正解かどうかわかりませんが、上記1のところは
str_replace
でheader
タグ全体を指定して空にすることでできると思います。また、2に関しては単純に任意の固定ページ向けに分岐を書いてから、
the_content
にフックでthe_title
をお好きなマークアップで頭に挿入したら実現できると思います。(未検証)どなたかより良い方法があれば教えて下さい!
♥ 0いいねをした人: 居ませんもっとスマートな方法があるかもしれませんが、最終的にどんなDOM構造にされたいのかなど詳細はわかりかねるので、以下の流れで実現できそうだなと感じます。(未検証)
snow_monkey_template_part_render_template-parts/content/entry/header/header
へのフィルターフックで<header class="c-entry__header">〜</header>
を出力させないようにする- (構造がわからないので的確かどうかわかりませんが)
the_content
の冒頭にタイトルを出力させるようフックで処理
これで、
ページトップのh1タイトルをなくして(cssにて非表示ですとh1が2箇所になったままになるので)
ブロックでデザインしている箇所にh1タイトルを表示させたいという要件はクリアできそうな気がします。ご確認ください。
添付画像にタイトルが2箇所に用意されていることは分かるのですが、最終的にどのようにされたいのでしょうか?
それが具体的に共有いただけないと、CSSでなんとかなるのか、フックでなんとかなるのか、なんともならないのかなど、判断が難しいですねぇ。
♥ 0いいねをした人: 居ませんご自身でこのように書かれていますので、
@media (min-width: 64em) { .c-site-branding .custom-logo, .wpaw-site-branding__logo .custom-logo { height: 134px; width: 305px; } }
こちらを
@media (min-width: 64em) { .c-site-branding .custom-logo, .wpaw-site-branding__logo .custom-logo { height: auto; width: auto; } }
こんな感じにしてあげたらよいのではないでしょうか?開発者ツールで確認してみてください!
♥ 0いいねをした人: 居ませんご確認ありがとうございます。
このコメントを作成時、WordPress 5.8 に対して、テーマ Snow Monkey と Snow Monkey Blocks は対応しておりません。
ですので、ユーザーとしてはテストやデバッグの用途でない限り、推奨環境以外で利用しない、という方法が最適かと思います。要するに現状としては「WordPres 5.8 では テーマ Snow Monkey と Snow Monkey Blocks を使わない」という選択ということです。
実害はないですが、気持ちわるいです
それは、上記を含めてご自身で選択されて環境を用意された結果ですので、受け入れていただくか回避される処置をされることがベターなのかと、個人的には思います。
ご確認よろしくお願いいたします。
上記記事の掲載コードをそのまま使われて現在表示されているという前提でご紹介すると、以下のようにすることでトップページ(ホームページ設定でホームページに固定ページを設定した上でのトップページと解釈)にだけ表示させることができます。
add_action( 'snow_monkey_before_contents_inner', function() { if ( is_front_page() ) { $new_query = new \WP_Query( [ 'pagename' => 'front-page-slider', 'post_type' => 'page', 'post_status' => [ 'publish', 'draft' ], 'posts_per_page' => 1, ] ); if ( ! $new_query->have_posts() ) { return; } $new_query->the_post(); ?> <div class="p-entry-content" id="front-page-top-content"> <?php the_content(); ?> </div> <?php wp_reset_postdata(); } } );
現在、アカウントページからダウンロードできるバージョンはリリースされているものになります。
ですので、まだ5.8に対応している正規版はBetaテスト段階ですので、こちらからはダウンロードすることはできません。
問題なく使われる為には、現段階ではGONSYさんが言われているようにダウングレードする方法が一般的でしょう。
また、テーマを選択できないというのは、zipファイルを解凍してしまっていたりはしませんでしょうか?
参考までにどうぞ。
♥ 0いいねをした人: 居ません【お使いの Snow Monkey のバージョン】
【お使いの Snow Monkey Blocks のバージョン】
【お使いの Snow Monkey Editor のバージョン】
【お使いのブラウザ】
【当該サイトのURL】こちらの情報に加えて、WordPress 本体のバージョンも情報共有いただけますと良いかと思います。
♥ 0いいねをした人: 居ません新たに機能追加されるかどうかは開発者判断となるので言及しませんが、導入するためには現状、 My Snow Monkeyなどプラグインにソースコードを書く必要があるかと思います。
wp_body_open()
フックに出力をすると、<body>
タグの直後に出力されるので、以下のような感じでできるのではないかなと思います。add_action( 'wp_body_open', function() { ?> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-XXXXXX-13"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-XXXXXX-13'); gtag('config', 'G-XXXXXXXXXX'); </script> <?php } );
コード自体はこちらのサイトからサンプルを拝借してきましたので、必要なコードを置き換えていただければ設置できるかと思います。
いけました!勉強になりました!ありがとうございます!!
♥ 0いいねをした人: 居ません -
投稿者投稿