フォーラムへの返信
-
投稿者投稿
-
ヘッダーコンテンツに入力した HTML を、ここにそのまま貼り付けてもらって良いのでしょうか?(HTML 全体を
`
で囲むとコードとして認識されます)。♥ 0Who liked: No user1. jQuery の読み込みを最適化の無効化
上記について、まだ同じエラーが出て続けていますね。HTML ソースを見ると jQuery の読み込み部分が
<script type='text/javascript' id='jquery-core-js' data-type="lazy" data-src="https://www.kyushu-kiden.co.jp/wp-includes/js/jquery/jquery.min.js?ver=3.6.1"></script>
のように、
src
ではなくてdata-src
となっています。なにか遅延読み込みさせるようなものを使われているのではないかなと思うのですがどうでしょうか?FTPソフトで覗いてみても、header.phpが見つかりませんでした。
んーなんででしょうね、
themes/snow-monkey/header.php
に本来あるはずですが…まぁそれは本筋ではないのでおいておくとして、僕の書いたコード、どこに書くのか書いていませんでしたね。失礼しました。
一般的には子テーマをつくって、その子テーマの
functions.php
に書くことが多いと思います。そして子テーマの中の適当な場所にgoogle_for_jobs.php
もいれて、functions.php
に書いたコードの中からinclude()
するという感じです。あるいは、Snow Monkey のマイアカウントページから My Snow Monkey という空のプラグインがダウンロードできるのですが、その中に
google_for_jobs.php
を配置して、my-snow-monkey.php
にコードを書いてinclude()
しても良いです。get_template_part()
は値を返す関数ではなく出力する関数なので、$breadcrumbs = get_template_part( 'template-parts/common/breadcrumbs' );
としても$breadcrumbs
に値は格納されずその時点で画面に出力されてしまいます。なので、下記のようにするとどうでしょう?ob_start(); get_template_part( 'template-parts/common/breadcrumbs' ); $breadcrumbs = ob_get_clean();
♥ 0Who liked: No userグローバルナビゲーションはフレックスボックスになっているので、まずはメニュー項目の
flex
プロパティを調整して文字列に応じた幅になるようにする必要があります。その後に微調整するのが簡単だと思います。/* メニュー項目の均等サイズ揃えを無効化 */ .p-global-nav .c-navbar .c-navbar__item { flex: 0 0 auto; } /* メニューリンクの左右 padding をなくす */ .p-global-nav .c-navbar .c-navbar__item a { padding-left: 0; padding-right: 0; } /* メニュー項目間の余白を 25px にする */ /* メニュー自体を中央揃え */ .p-global-nav .c-navbar { gap: 25px; justify-content: center; }
♥ 0Who liked: No user‘snow_monkey_template_part_render_template-parts/common/page-header’でフックしてその中でget_template_part(‘template-parts/common/breadcrumbs’)を呼び出すも、その場で展開されてしまい、ヘッダーの一番上にパンくずが表示されてしまいました。
実際に書いたコードと、具体的にどの部分に表示したいのかかがわかるスクショなどを共有してもらうことはできますか?
♥ 0Who liked: No userデータの送付ありがとうございます。確認したところ確かに現象が確認できました。ただ、原因はちょっとよくわからなくて、Snow Monkey 以外のテーマに変えて、そのテーマの
header.php
に<a href="/view/search?search_keyword=%B7%AC%A4%CE%CD%D5">...</a>
というリンクを記述しても同じ現象が確認できました。テーマは TwentyTwentyOne で、
functions.php
に下記のコードを追加してテストしてみました。add_action( 'customize_register', function( $wp_customize ) { $wp_customize->add_setting( 'test', [ 'default' => '', ] ); $wp_customize->add_control( 'test', [ 'settings' => 'test', 'label' => 'test', 'section' => 'test', 'type' => 'text', ] ); $wp_customize->add_section( 'test', [ 'title' => 'test', 'active_callback' => function() { return is_home(); } ] ); } );
で、もう一点わかったのですが、そのリンク文字列があるときは下記の JS エラーがでていることに気づきました。
カスタマイザーの詳しい仕組みがわからないのでどういうエラーなのかよくわかりませんが、
URIError
とあるのでこのリンク文字列と関連があるのかなと思いました。どういうふうに変更すれば良いのかまではわかりませんが、例えばその部分の URL をショートコード化してしまうとか、PHP で出力させるとか、直接 URL を記入しなかったらどうなのかな?と思いました。♥ 0Who liked: No userんーーなんでしょうね。
投稿ページ設定のパネルはプレビューに表示されているページが
is_home()
のときに表示されるようになっています。なのでクエリが書き換えられていると表示されなくなるというのはありそうなのですが、URL(文字列)の影響を受けるというのはちょっと不思議ですね…。
こちらの環境でも試してみたいのですが、その My Snow Monkey プラグインをまるごと DM かなにかで共有してもらうことってできますか?
♥ 0Who liked: No userこちらの環境だと、ホームページの表示が「最新の投稿」のときでも、デザイン → 投稿ページ設定にコンテンツとして使用するページを割り当てる設定が表示されるのですが、この「デザイン → 投稿ページ設定」自体が表示されていない感じですかね?
♥ 0Who liked: No userあるはあるのですが、ヘッダーレイアウトを切り替えられるようにしている都合上、実態は
snow-monkey/templates/layout/header
の中に入れてあります。ただ、
header.php
のようなテンプレートファイルを直接編集するためには子テーマ等でテンプレートファイルを上書きする必要があり、それは汎用テーマを使う上では煩雑になってしまうので、フックでコードを差し込むのが一般的だと思います。head
タグの中であればフックはwp_head
が適切かなと思います。add_action( 'wp_head', function() { // ここで読み込む } );
♥ 0Who liked: No userただいま削除しました。こちらのトピックも非表示にしておきますね。
♥ 0Who liked: No userv5.0.4 にて修正をおこないました。アップデートして確認をお願いします!!
♥ 0Who liked: No userわーすみません、こちらのミスかもです!!確認して再度リリースします。
♥ 0Who liked: No user -
投稿者投稿