wordpressのパーツに分割

webサイト制作

前回作成したindex.phpをwordpressを構成するパーツに分割します。

header.php の作成

index.phpの先頭から「</header><!-- /header -->」までを切り取り、header.php に貼り付けます。

index.phpの切り取った箇所には「<?php get_header(); ?>」と入力します。 こうすることで index.php が読み込まれた時に、この部分に header.php を読み込んで追加してくれます。

タイトルの部分は「 bloginfo('name');」とすることで、タイトル部分にブログ名が表示される様になります。 個別ページのタイトルも入れたいので、「wp_title('|', true, 'right');」も入れます。これはブログ名の右側にこれを出力しなさいという意味です。

<title>ゼロからWordPressテーマを作ろう</title>

<title><?php wp_title('|', true, 'right'); bloginfo('name'); ?></title>

cssを読み込むようにします。

<link rel="stylesheet" type="text/css" href="style.css">

<link rel="stylesheet" type="text/css" href="<?php echo get_stylesheet_uri(); ?>">

見出し h1 の部分にはブログ名を表示し、ホームへのリンクを貼っておきます。 ホームへのリンク先は、「<?php home_url('/'); ?>」 と入力します。

<h1><a href="">ゼロからWordPressテーマを作ろう</a></h1>

<h1><a href="<?php echo home_url('/'); ?>"><?php bloginfo('name'); ?></a></h1>

管理画面で作成したメニューを出力できる様にメニューの部分には「”<?php wp_nav_menu(); ?>"」と入力します。

メニューが表示される様にするためには functions.php 側の設定も必要で、functions.php に「add_theme_support('menus');」を記述します。

これで管理画面で作成したメニューを表示することができます。

最後に、head 要素の一番最後に「<?php wp_head(); ?>」と入力します。 これでヘッダとして機能する様になります。

header.php

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="utf-8">
  <title>ゼロからWordPressテーマを作ろう</title>
  <link rel="stylesheet" type="text/css" href="http://yui.yahooapis.com/3.9.1/build/cssreset/cssreset-min.css">
  <link rel="stylesheet" type="text/css" href="style.css">
</head>
<body> 
  <header id="header" class="container">
    <h1><a href="">ゼロからWordPressテーマを作ろう</a></h1>
  </header><!-- /header -->

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="utf-8">
  <title><?php wp_title('|', true, 'right'); bloginfo('name'); ?></title>
  <link rel="stylesheet" type="text/css" href="http://yui.yahooapis.com/3.9.1/build/cssreset/cssreset-min.css">
  <link rel="stylesheet" type="text/css" href="<?php echo get_stylesheet_uri(); ?>">
  <?php wp_head(); ?>
</head>
<body>
  <header id="header" class="container">
  <h1>
    <a href="<?php echo home_url('/'); ?>"><?php bloginfo('name'); ?></a>
  </h1>
  <?php wp_nav_menu(); ?>
  </header><!-- /header -->

funtion.php

<?php
add_theme_support('menus');

sidebar.phpの作成

同様に、index.php の<div id=”sidebar”> … </div><!– /sidebar –> の部分を切り取ってsidebar.phpに貼り付け、切り取った箇所には<?php get_sidebar(); ?>と入力します。

サイドバーにはウィジェットを表示できる様にします。ウィジェットを出力する場所に「<?php dynamic_sidebar(); ?>」と記述します。

次に、ウィジットを使えるようにするため、functions.phpに処理を記述します。

「register_sidebar();」と記述します。

オプションを配列で渡します。

widget の前後のスタイルを設定します。 ウィジェットの前は「’before_widget’ => ‘<div class=”widget”>’,」と ウィジェットの後は「’after_widget’ => ‘</div>’,」とします。

widget のタイトルの前後もスタイルを設定できます。 「’before_title’ => ‘<h3>’, ‘after_title’ => ‘</h3>’,」と指定します。

これで、管理画面の「外観」メニューに「ウィジェット」が表示されます。

sidebar.php

<div id="sidebar">
  <h3>サイドバー</h3>
</div><!-- /sidebar -->

<div id="sidebar">
<?php dynamic_sidebar(); ?>
</div><!-- /sidebar -->

functions.php

<?php
  add_theme_support('menus');

  register_sidebar(
    array(
      'before_widget' => '<div class="widget">',
      'after_widget' => '</div>',
      'before_title' => '<h3>',
      'after_title' => '</h3>',
    )
  );

 

footer.phpの作成

最後にフッターです。index.phpの「<footer id="footer" class="container">」から「</footer><!-- /footer -->」までを切り取り、footer.php に貼り付けます。 切り取った箇所には「<?php get_footer(); ?>」と入力します。
</footer>」の後ろ、「</body>」の直前には「<?php wp_footer(); ?>」という記述を追加します。

footer.php

<footer id="footer" class="container">
<p>フッター</p>
</footer><!-- /footer -->
<?php wp_footer(); ?>

最終的にindex.phpは以下の様になります。

index.php

<?php get_header(); ?>

<div id="main" class="container">
  <div id="posts">
    <div class="post">
      <h3>投稿記事</h3>
    </div><!-- /post -->
    <div class="navigation">
      <div class="prev">前へ</div>
      <div class="next">次へ</div>
    </div>
  </div><!-- /posts -->

<?php get_sidebar(); ?>

</div><!-- /main -->

<?php get_footer(); ?>

</body>
</html>
タイトルとURLをコピーしました