フォーラムへの返信
-
投稿者投稿
-
確かに! でもテーマを Snow Monkey から TwentyTwentyTwo に変更しても再現したので WordPress コアの不具合な気がします。issue みた感じだと報告されてない?気がするので報告したほうが良いかもですね…。
♥ 0Who liked: No userヘッダーも
stickyで固定されているので、その分ずらさないと食い込んだように見えちゃいますね。#thumb-vimeo { position: sticky; z-index: 999; top:71px; // ヘッダーの高さ分ずらす }♥ 0Who liked: No user#thumb-vimeo { position: sticky; position: -webkit-sticky; z-index: 999; top:0; }をデベロッパーツールで追加して確認したところ正しく動作しているように見えます。
position: stickyは上部までスクロールすると常に固定され続けるわけではなくて、その要素の親要素がその要素の下辺に追いつくとそこからは普通にスクロールしますが、そうではなくて常に固定し続けたいということですかね?♥ 0Who liked: No userDigitalCube LabWorks さんのサイトは多分少し古いバージョンの Snow Monkey を使われているようで、最新の Snow Monkey だとご指摘のようにコンテナーブロックの中だとボタンが表示されないようです。なぜそのような変更を入れたのか忘れてしまったのですが、なにか理由があったと思うのでちょっと調整してみたいと思います。
お急ぎであればコンテナーブロックの中に入れずに対応されるのが良いかもしれません。
♥ 0Who liked: No userロゴは画像ですか?画像の場合、どうやって色を変えていますか?
♥ 0Who liked: No userあーなるほどです。そうですね、なるべく共通のテンプレートパーツを使いたくて、レイアウトによっては画像を CSS で消しているだけのものがあります。が、なぜ最近の投稿ブロックの画像が最初に実行されているのかはわかりません…。
無理やりな方法ですが、Snow Monkey のフックで強制的に1つ目の
loading="lazy"を消すのが簡単かもしれません。add_filter( // テンプレートパーツ が template-parts/content/entry/content/content.php のときに実行 'snow_monkey_template_part_render_template-parts/content/entry/content/content', function( $html, $name ) { if ( 'page' === $name ) { // 固定ページのとき $html = preg_replace( '|loading="lazy"|', '', $html, 1 ); // 1個目の loading="lazy" を強制的に消す return $html; } }, 10, 2 );実行条件は
get_the_ID()やis_page()等で状況に合わせて変更してください。♥ 0Who liked: No userお!ということはやはりコンテンツの表示前に1回実行されているっぽいですね。ブラウザで HTML ソースを表示してみると、HTML ソース上のどこかに
int(1)が出力されていないでしょうか? もし出力されているようであればどの部分の前後に出力されているか知りたいです。また、Snow Monkey Blocks 以外に有効化しているプラグインがあれば教えてください。
♥ 0Who liked: No userんーなんでしょうね…それはこちらでは再現できませんでした。

wp-includes/media.phpの中にwp_get_loading_attr_default()という関数があります。これがlazyにするかどうかを判定して出力しているのですが、$content_media_count = wp_increase_content_media_count();という部分を
$content_media_count = wp_increase_content_media_count(); echo '<pre>`; var_dump($content_media_count); echo '</pre>`;としてみたら、画面上にどのような表示がされますか? 僕の環境だと
int(1) int(2)という表示がされます。これは画像を表示するたびに実行されるので、画像が2枚だから1と2が出力されるということです。最近の登校ブロックを入れると最初の画像にも
lazyが出力されてしまうということは、その画像より前の段階で、何らかの理由によりこの関数が実行されているのかなと…。上記のようにコードを改変することで、この関数がどこで呼び出されたのかがわかるので、可能であれば試してみてください。♥ 0Who liked: No userどうもお使いのプラグインのショートコードで出力されるテーブルは js でテーブルの幅を制御しているみたいで、タブブロック、非表示のタブコンテンツは
display: noneで非表示にしているので非表示のときは js で幅が取得できないため縮んでしまうようです。CSS を追加して強制的にサイズを調整するしかないかなと思います。例えば
.smb-tabs .dataTables_scrollHeadInner, .smb-tabs .tablepress, .smb-tabs .dataTables_scrollBody { width: 100% !important; }みたいな。状況に合わせて CSS を調整してみてください。
wp_enqueue_style()もwp_enqueue_script ()も第一引数はそのスタイル(やスクリプト)の名前になります(名前は自分で決めて大丈夫です)。名前はそれぞれのファイルに対して別々のものを指定しなければなりません。そうしないとどのファイルがどれか識別できないからです。['jquery']というふうに依存関係を指定している部分がありますが、これもjqueryという名前でスクリプトが登録されているからです。上記のコードだと すべてのスタイル・スクリプトが
msm_style・msm_scriptsになっているので、これだと全部のスタイルやスクリプトが読み込まれていないのではないですかね?僕は picadate というライブラリを使ったことがないので使い方を知りませんが、↑の名前に関する記述を修正してすべてのスタイル・スクリプトが読み込まれたことを確認したあとも動作しないのでれば picadate を動かすためのコードに問題があるのかもしれません。
♥ 0Who liked: No userテストサイトありがとうございます!
トップページ、サンプル1についてはこちらでもほぼ同じ内容でローカル環境をつくってみたところ再現できました。サンプル2についてはこちらでは再現できませんでした。
トップページについては、ページ表示前にコンテンツの有無を調べるために
the_content()を実行しており、それで画像のカウントが二重になってしまうので問題がおこっているようです。themes/snow-monkey/template-parts/content/entry/front-page.phpで<?php ob_start(); $has_do_shortcode = has_filter( 'the_content', 'do_shortcode' ); if ( $has_do_shortcode ) { remove_filter( 'the_content', 'do_shortcode', $has_do_shortcode ); the_content(); add_filter( 'the_content', 'do_shortcode', $has_do_shortcode ); } else { the_content(); } $content = ob_get_clean(); ?> <?php if ( $content ) : ?>となっているところを、まるっと消して
<?php if ( get_the_content() ) : ?>に変えてしまうとどうでしょうか?
♥ 0Who liked: No userwp_enqueue_style()、wp_enqueue_script()の書き方が間違っているようです。どちらにも URL を列挙していますが、関数は引数の順番が決まっているのでそのように必要な文だけ列挙することはできません。<?php wp_enqueue_script( $handle, $src, $deps, $ver, $in_footer ); ?>ファイルの URL(↑でいえば
$src)は2番目の引数であり、3番目の引数は依存関係を指定するものになるので、3番目にしてするのが['jquery']にならないとダメです。複数のファイルを読み込ませたい場合は
wp_enqueue_style()、wp_enqueue_script()自体を複数個書くことになります。♥ 0Who liked: No user2022年3月3日 10:23 AM 返信先: パスワード保護を使ったページで、セクションブロックやコンテンブロック内にmoreタグ(続きブロック)を入れると、入力欄の表示がおかしくなる。 #100247コンテンツ(
the_content()で表示される部分)の前にウィジェットやページヘッダー画像が入っていたりしないですかね?♥ 0Who liked: No user -
投稿者投稿
