概要
現在、wordpress用のテーマを作る練習をしています。
作る手順としては、
①作りたいテーマのHTMLやCSSをコーディング
②コーディングしたものを元に、wordpress用にPHPコードを組み込む
③それをサーバーにアップロード
のような感じですすめています。
起こった問題
③の段階まで終わらせ、wordpressの管理画面でテーマを反映させたところ、一部のコードが反映されていないようでした。
その、反映されていなかった部分は、サイドバーなのですが、
sidebar.phpを以下に記述します。
PHP
1<div class="col-md-4 card mb-auto"> 2 <?php if ( is_active_sidebar( 'sidebar' ) ) : ?> 3 <aside class="mb-5"> 4 <?php dynamic_sidebar( 'sidebar' ); ?> 5 <div class="author"> 6 <img src="<?php echo get_template_directry_uri(); ?>/images/author.jpeg" class="mx-auto mt-5" alt=""> 7 <h4 class="mt-3"><span>名前</span></h4> 8 <hr class="mt-4"> 9 <p>ここに自己紹介が入ります。ここに自己紹介が入ります。ここに自己紹介が入ります。ここに自己紹介が入ります。ここに自己紹介が入ります。ここに自己紹介が入ります。ここに自己紹介が入ります。ここに自己紹介が入ります。ここに自己紹介が入ります。ここに自己紹介が入ります。ここに自己紹介が入ります。ここに自己紹介が入ります。ここに自己紹介が入ります。ここに自己紹介が入ります。ここに自己紹介が入ります。</p> 10 <a href="#" class="pull-right">プロフィールの詳細</a><br> 11 <a href="#" class="pull-right">お問い合わせはコチラ</a> 12 </div> 13 </aside> 14 <?php endif; ?> 15</div>
このテーマはbootstrapを使っており、cardのクラスを与えたことによる、cardの外枠のようなものはしっかりと表示されていて、wordpress管理画面のウィジェット設定から、適当にウィジェットを追加してみると、そのカード内に表示されました。
試したこと
試したことは、
0. どこのタグが表示されていないのかを調べるために、各タグに背景色をつけて調べた→その結果、<aside></aside>タグまでは正常に表示されていたが、その内側の<div class="author"></div>から表示されていないようだった。
- <?php if ( is_active_sidebar( 'sidebar' ) ) : ?>とそのendifを<aside>タグ内に入れてみた→変化はなし。
- <?php dynamic_sidebar( 'sidebar' ); ?>を<div class="author"></div>の直後に入れてみた結果→今まで表示されていたウィジェットが消えcardの枠線だけが残った。
2のコード
PHP
1<div class="col-md-4 card mb-auto"> 2 3 <aside class="mb-5"> 4 <?php if ( is_active_sidebar( 'sidebar' ) ) : ?> 5 <?php dynamic_sidebar( 'sidebar' ); ?> 6 <div class="author"> 7 <img src="<?php echo get_template_directry_uri(); ?>/images/author.jpeg" class="mx-auto mt-5" alt=""> 8 <h4 class="mt-3"><span>名前</span></h4> 9 <hr class="mt-4"> 10 <p>ここに自己紹介が入ります。ここに自己紹介が入ります。ここに自己紹介が入ります。ここに自己紹介が入ります。ここに自己紹介が入ります。ここに自己紹介が入ります。ここに自己紹介が入ります。ここに自己紹介が入ります。ここに自己紹介が入ります。ここに自己紹介が入ります。ここに自己紹介が入ります。ここに自己紹介が入ります。ここに自己紹介が入ります。ここに自己紹介が入ります。ここに自己紹介が入ります。</p> 11 <a href="#" class="pull-right">プロフィールの詳細</a><br> 12 <a href="#" class="pull-right">お問い合わせはコチラ</a> 13 </div> 14 <?php endif; ?> 15 </aside> 16 17</div>
3のコード
PHP
1 2<div class="col-md-4 card mb-auto"> 3 <?php if ( is_active_sidebar( 'sidebar' ) ) : ?> 4 <aside class="mb-5"> 5 6 <div class="author"> 7 <img src="<?php echo get_template_directry_uri(); ?>/images/author.jpeg" class="mx-auto mt-5" alt=""> 8 <h4 class="mt-3"><span>名前</span></h4> 9 <hr class="mt-4"> 10 <p>ここに自己紹介が入ります。ここに自己紹介が入ります。ここに自己紹介が入ります。ここに自己紹介が入ります。ここに自己紹介が入ります。ここに自己紹介が入ります。ここに自己紹介が入ります。ここに自己紹介が入ります。ここに自己紹介が入ります。ここに自己紹介が入ります。ここに自己紹介が入ります。ここに自己紹介が入ります。ここに自己紹介が入ります。ここに自己紹介が入ります。ここに自己紹介が入ります。</p> 11 <a href="#" class="pull-right">プロフィールの詳細</a><br> 12 <a href="#" class="pull-right">お問い合わせはコチラ</a> 13 </div> 14 <?php dynamic_sidebar( 'sidebar' ); ?> 15 </aside> 16 <?php endif; ?> 17</div>
ちなみに、index.phpファイルにて、しっかりと<?php get_sidebar(); ?>の記述はできております。
また、functions.phpは以下の通りです。
PHP
1<?php 2// This function enqueues the Normalize.css for use. The first parameter is a name for the stylesheet, the second is the URL. Here we 3// use an online version of the css file. 4function add_normalize_CSS() { 5 wp_enqueue_style( 'normalize-styles', "https://cdnjs.cloudflare.com/ajax/libs/normalize/7.0.0/normalize.min.css"); 6} 7// Register a new sidebar simply named 'sidebar' 8function add_widget_Support() { 9 register_sidebar( array( 10 'name' => 'Sidebar', 11 'id' => 'sidebar', 12 'before_widget' => '<div>', 13 'after_widget' => '</div>', 14 'before_title' => '<h2>', 15 'after_title' => '</h2>', 16 ) ); 17} 18 19 20 21 22 23 24// Hook the widget initiation and run our function 25add_action( 'widgets_init', 'add_Widget_Support' ); 26 27// Register a new navigation menu 28function add_Main_Nav() { 29 register_nav_menu('header-menu',__( 'Header Menu' )); 30} 31// Hook to the init action hook, run our navigation menu function 32add_action( 'init', 'add_Main_Nav' ); 33 34 35?>
php化する際に参考にしたサイト
How to Create a WordPress Theme Using HTML5, CSS3, and Responsive Design Principles
最後に
長文失礼いたしました。
sidebar.phpの<div class="author">ないのコードがどうして反映されないのか、調べてみたのですがいまいち納得の行く答えに巡り合えませんでした。
良かったら、どうして表示されなかったのか、どうすれば表示されるのか
具体的に教えていただけたら幸いです。
他のファイルなどを参照する必要があればぜひおっしゃってください。
ご回答お待ちしています。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/29 08:38
2020/07/29 09:05
2020/07/29 09:06