WordPress チュートリアル: HTML から WordPress テーマを作成する方法 (パート 1)
- 1.現在読んでいる記事: WordPress チュートリアル: HTML から WordPress テーマを作成する方法 (パート 1)
- <スパン>2. WordPress チュートリアル: HTML から WordPress テーマを作成する方法 (パート 2)
- <スパン>3. WordPress テーマの構造の紹介
HTML ( + CSS) Web サイトから始めた場合、WordPress に移行するときにすべてを捨てる必要はありません。 HTML を WordPress に変換し、動的 WordPress プラットフォーム上で (より強力になった) Web サイトを実行できます。
あるいは、そうではないかもしれません。おそらく、クライアントの HTML デザインを本格的な WordPress テーマに変換する方法を疑問に思っているのではないでしょうか。あるいは、より馴染みのある HTML 側から基本的な WordPress (+ PHP) プログラミングを学びたいと考えているかもしれません。
今日ここに来た理由が何であれ、この WordPress チュートリアルでは、HTML から WordPress テーマを作成する基本を紹介します。このガイドに従ってテーマを最初から作成することも、Github にアクセスして WPExplorer スターター テーマをダウンロードすることもできます。このスターター テーマには、開始するために必要なテンプレート ファイルとコードがすべて含まれたテーマを作成するための「空のキャンバス」が用意されています。したがって、コードを読んで学習したい人であれば、スターター テーマをダウンロードし、ガイドをスキップして、どのように機能するかを確認してください。それ以外の場合は、コード エディタ(私は Notepad++ または SublimeText を使用しており、推奨しています)とブラウザを用意してください。をクリックしてから、この簡単なガイドを最後まで実行してください。
WordPress テーマに名前を付ける
まず最初に、テーマに一意の名前を付ける必要があります。これは、Web サイト専用のテーマを作成する場合は必要ありません。いずれにしても、インストール時に簡単に識別できるように、テーマに名前を付ける必要があります。
現時点での一般的な前提条件:
- これで、index.html と CSS スタイルシートが準備できました。
- 少なくとも 1 つのテーマを備えた動作する WordPress インストールがある。トゥエンティ・フォーティーン
- 新しい WordPress テーマを保存するテーマフォルダーはすでに作成されています 🙂
WordPress テーマの命名に戻りましょう。コード エディターを開き、スタイルシートの内容をコピーして新しいファイルに貼り付け、style.css としてテーマ フォルダーに保存します。 新しく作成した style.css の先頭に次の情報を追加します。
/*
Theme Name: Your theme's name
Theme URI: Your theme's URL
Description: A brief description of your theme
Version: 1.0 or any other version you want
Author: Your name or WordPress.org's username
Author URI: Your web address
Tags: Tags to locate your theme in the WordPress theme repository
*/
(/*…*/) コメント タグを省略しないでください。変更を保存します。この情報は、WordPress にテーマの名前、作成者、その他の追加情報を伝えます。重要な部分はテーマの名前です。これにより、WP ダッシュボードからテーマを選択してアクティブ化できるようになります。
HTML テンプレートを PHP ファイルに分割する
さらにこのチュートリアルでは、HTML テンプレートがヘッダー、コンテンツ、サイドバー、フッターのように左から右に配置されていることを前提としています。別のデザインの場合は、コードを少しいじる必要があるかもしれません。楽しいし、 とても簡単です。
次のステップでは、4 つの PHP ファイルを作成します。コード エディターを使用して、index.php、header.php、sidebar.php、および footer.php を作成し、テーマ フォルダーに保存します。この時点ではすべてのファイルが空であるため、何も行われないことを期待しないでください。説明のために、次の Index.html および CSS スタイルシート ファイルを使用しています。
インデックス.HTML
<!DOCTYPE html>
<head>
<meta charset="UTF-8">
<title>How To Convert HTML Template to WordPress Theme - WPExplorer</title>
<link rel="stylesheet" type="text/css" media="all" href="style.css"/>
</head>
<body>
<div id="wrap">
<header class="header">
<p>This is header section. Put your logo and other details here.</p>
</header><!-- .header -->
<div class="content">
<p>This is the main content area.</p>
</div><!-- .content -->
<div class="sidebar">
<p>This is the side bar</p>
</div><!-- .sidebar -->
<footer class="footer">
<p>And this is the footer.</p>
</footer><!-- .footer -->
</div><!-- #wrap -->
</body>
</html>
CSS スタイルシート
#wrap{margin: 0 auto; width:95%; margin-top:-10px; height:100%;}
.header{width:99.8%; border:1px solid #999;height:135px;}
.content{width:70%; border:1px solid #999;margin-top:5px;}
.sidebar{float:right; margin-top:-54px;width:29%; border:1px solid #999;}
.footer{width:99.8%;border:1px solid #999;margin-top:10px;}
作業するものが何もない場合は、両方のコードを取得できます。これらをコード エディターにコピーして貼り付けて保存し、先ほど述べた 4 つの PHP ファイルを作成して、次の部分の準備をします。新しく作成した (空の) header.php を開きます。既存の WordPress インストールにログインし、[外観] –>> エディタに移動して、header.php を開きます。 <head> タグ間のコードをすべてコピーし、header.php ファイルに貼り付けます。以下は、Twenty Fourteen テーマの header.php ファイルから取得したコードです。
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>">
<meta name="viewport" content="width=device-width">
<title><?php wp_title( '|', true, 'right' ); ?></title>
<link rel="profile" href="http://gmpg.org/xfn/11">
<link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>">
<!--[if lt IE 9]>
<script src="<?php echo get_template_directory_uri(); ?>/js/html5.js"></script>
<![endif]-->
<?php wp_head(); ?>
</head>
次に、index.html ファイルを開き、以下に示すようにヘッダー コード (
<html>
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>">
<meta name="viewport" content="width=device-width">
<title><?php wp_title( '|', true, 'right' ); ?></title>
<link rel="profile" href="http://gmpg.org/xfn/11">
<link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>">
<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" />
<!--[if lt IE 9]>
<script src="<?php echo get_template_directory_uri(); ?>/js/html5.js"></script>
<![endif]-->
<?php wp_head(); ?>
</head>
<body>
<header class="header">
<p>This is header section. Put your logo and other details here.</p>
</header>
それから加えて…
<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" />
…header.php ファイルの <head> タグ間の任意の場所に、スタイルシートをリンクします。上に示したように、header.php に <html> および <body> 開始タグを忘れずに配置してください。すべての変更を保存します。
2 番目のセクション (つまり、
<?php get_header(); ?>
…一番上、そして…
<?php get_sidebar(); ?>
<?php get_footer(); ?>
…絶対的な最下位へ。これらの 3 行は、header.php、sidebar.php、footer.php を (この順序で) フェッチし、index.php に表示し、コードを元に戻します。すべての変更を保存します。この時点で、index.php ファイルは次のようになります。
<?php get_header(); ?>
<?php get_sidebar(); ?>
<?php get_footer(); ?>
次に、index.html のサイドバー セクションとフッター セクションのコンテンツをそれぞれsidebar.php と footer.php にコピーします。
投稿の追加
HTML テンプレートが WordPress テーマに変わろうとしています。投稿を追加するだけです。ブログに投稿がある場合、カスタムメイドの「HTML-to-WordPress」テーマで投稿をどのように表示しますか? ループと呼ばれる特別なタイプの PHP 関数を使用します。ループは、どこに配置しても投稿やコメントを表示する特殊なコードにすぎません。
次に、index.php テンプレートのコンテンツ セクションに投稿を表示するには、次のコードをコピーして
<div class="content">
<?php if ( have_posts() ) : ?>
<?php while ( have_posts() ) : the_post(); ?>
<div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<div class="post-header">
<div class="date"><?php the_time( 'M j y' ); ?></div>
<h2><a href="<?php the_permalink(); ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2>
<div class="author"><?php the_author(); ?></div>
</div><!--.post-header-->
<div class="entry clear">
<?php if ( function_exists( 'add_theme_support' ) ) the_post_thumbnail(); ?>
<?php the_content(); ?>
<?php edit_post_link(); ?>
<?php wp_link_pages(); ?>
</div><!--. entry-->
<footer class="post-footer">
<div class="comments"><?php comments_popup_link( 'Leave a Comment', '1 Comment', '% Comments' ); ?></div>
</footer><!--.post-footer-->
</div><!-- .post-->
<?php endwhile; /* rewind or continue if all posts have been fetched */ ?>
<nav class="navigation index">
<div class="alignleft"><?php next_posts_link( 'Older Entries' ); ?></div>
<div class="alignright"><?php previous_posts_link( 'Newer Entries' ); ?></div>
</nav><!--.navigation-->
<?php else : ?>
<?php endif; ?>
</div><!--.content-->
これであなたの投稿は処理されます。 ABC のように簡単です。 この時点で (そしてこのチュートリアルで提供されるサンプル ファイルを使用すると)、header.php は次のようになります。
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>">
<meta name="viewport" content="width=device-width">
<title><?php wp_title( '|', true, 'right' ); ?></title>
<link rel="profile" href="http://gmpg.org/xfn/11">
<link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>">
<!--[if lt IE 9]>
<script src="<?php echo get_template_directory_uri(); ?>/js/html5.js"></script>
<![endif]-->
<?php wp_head(); ?>
</head>
Sidebar.php は次のようになります。
<?php dynamic_sidebar( 'sidebar' ); ?>
footer.php は次のようになります。
<footer class="footer">
<p>And this is the footer</p>
</footer>
<?php wp_footer(); // Crucial core hook! ?>
</body>
</html>
フッターの