WEBやっていくぞー

【wordpress自作テーマ作り】その3:テンプレートを分割する

html、cssファイルをアップロードする

今まで作ってきたページをlocalのwordpressの中に入れる。
index.html、style.css、imagesフォルダを圧縮。
wordepress内の「外観」→「テーマ」→「新規追加」→「テーマのアップロード」からzipファイルをアップ。
これで作ってきたファイルとlocalのwordpressがつながった感。

注意:アップロードした後でstyle.cssなどを別の改装に移動させるとテーマが表示されなくなる。
さらにアップロードし直そうとして、ワードプレスにアップしたファイルを消すと、アップする前のフォルダも消える。

index.htmlをindex.phpに拡張子変更。

分解する準備。

functions.phpを作成する。

メニューとかアイキャッチを表示したりするのに必要。まっさらなphpファイルを準備。

index.phpを部分ごとに分解する。

  • header.php(<header>〜</header>)
  • index.php(<main>〜</main>)
  • sidebar.php(<section>サイドバー 入ってる部分</section>)
  • footer.php(<footer>〜</footer>)

header.phpを作成する

<!DOCTYPE html>
<html>
	<head>
		<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
		<title>やっていくブログ</title>
		<meta charset="UTF-8">
		<meta name="description" content="WEBをやっていくぞー">
		<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
		<meta name="robots" content="noindex">
		<meta name="robots" content="nofollow">
		<link href="https://use.fontawesome.com/releases/v5.6.1/css/all.css" rel="stylesheet">
		<link rel="stylesheet" type="text/css" href="css/reboot.css">
		<link rel="stylesheet" href="css/style.css">
		<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
	</head>
	<body>
		<div class="wrapper">
			<header>
				<div class="rogo">
					<h1><img src="images/rogo.png"></h1>
					<p>やっていくぞー</p>
				</div>
				<input type="checkbox" id="navTgl" class="none">
				<label for="navTgl" class="open"><span></span></label>
				<label for="navTgl" class="close"></label>
				<nav>
					<ul>
						<li>html</li>
						<li>life</li>
						<li>3</li>
						<li>4</li>
					</ul>
				</nav>
			</header>
<!DOCTYPE html>
<html>
	<head>
		<title><?php if( !is_home() ){
			wp_title(' - ', true, 'right');}
			bloginfo(' name '); ?>
		</title>
		<meta charset="UTF-8">
		<meta name="description" content="WEBをやっていくぞー">
		<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
		<meta name="robots" content="noindex">
		<meta name="robots" content="nofollow">
		<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.15.1/css/all.css" integrity="sha384-vp86vTRFVJgpjF9jiIGPEEqYqlDwgyBgEF109VFjmqGmIY/Y4HV4d3Gp2irVfcrp" crossorigin="anonymous">
		<link rel="stylesheet" type="text/css" href="<?php echo get_template_directory_uri(); ?>css/reboot.css">
		<?php wp_head(); ?>
	</head>
	<div class="wrapper">
			<header>
				<div class="rogo">
					<h1><a href="<?php echo home_url(); ?>"><img src="<?php echo get_template_directory_uri(); ?>/images/rogo.png"></a></h1>
					<p><?php bloginfo('description'); ?></p>
				</div>
				<input type="checkbox" id="navTgl" class="none">
				<label for="navTgl" class="open"><span></span></label>
				<label for="navTgl" class="close"></label>
				<nav>
					<?php $args = array(
						'menu' => 'global-navigation',//管理画面で作成したメニューの名前
						'container'=> false,//
					);
					wp_nav_menu($args);
					?>
				</nav>
			</header>
	

ここはヘッダーのしるし

<?php wp_head(); ?>

</head>直前に入れる。これがないとプラグインが動かなくなるので注意。

ヘッダーを呼び出す(index.phpに記述)

<?php get_header(); ?>

ヘッダーのあった部分に入れるとindex.phpにheader.phpが呼び出せます。

ナビゲーションメニュー

ナビゲーションメニューを作るために、functions.phpに追加する。

add_theme_support('menus');

header.phpで書き換えるのはここ。

<nav>
					<ul>
						<li>html</li>
						<li>life</li>
						<li>3</li>
						<li>4</li>
					</ul>
</nav>
<nav>
					<?php $args = array(
						'menu' => 'global-navigation',//管理画面で作成したメニューの名前
						'container'=> false,//
					);
					wp_nav_menu($args);
					?>
</nav>

ナビゲーションメニューを出す。

※wordpress内で操作するためには、「外観」→「メニュー」から、メニュー名「global-navigation」とするメニューを作成して連動させることが必要

‘container’=> false,//
container(文字列) (オプション) ul をラップするか、ラップする場合は何でラップするか。使えるタグは、 div、nav。コンテナをなしにする場合は false

cssやjavascriptの読み込みについて

wordpressでは、headerにcssやjavascriptを読み込ませず、functions.phpに記述して一括管理することが推奨されているそうです。

なぜかjQuery 2つも書いてる……。

<head>
		<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
		<link rel="stylesheet" type="text/css" href="css/reboot.css">
		<link rel="stylesheet" href="css/style.css">
		<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
	</head>
//jQuery読み込み
function add_files() {
  wp_deregister_script('jquery');
	wp_enqueue_script( 'jquery', '//ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js', "", "20160608", false );
  wp_enqueue_script( 'surusuru', get_template_directory_uri() . '/js/surusuru.js',  array('jquery'), '1.3.2', true);
  wp_enqueue_style( 'main', get_template_directory_uri() . '/css/reboot.css', "", '20160608' );
  wp_enqueue_style( 'main2', get_template_directory_uri() . '/style.css', "", '20160608' );
  }
  add_action('wp_enqueue_scripts', 'add_files');

wp_deregister_script(‘jquery’);←wordpressに元から入ってるjQueryを読み込ませない。
wp_enqueue_script( ‘surusuru’, get_template_directory_uri() . ‘/js/surusuru.js’, array(‘jquery’), ‘1.3.2’, true);←wp_enqueue_script( 任意の名前, ファイルのURL, スクリプトのハンドル名(適当), バージョン(適当), bodyの前か後に記述する);

https://yatteiku.blog/wp4/

SHARE THIS POST