wordpress学習(2020/06/29)

###wordpressの開発環境の作成
MAMP：macOSまたはWindows上で動作するWebデベロッパー向けのツールで、ローカルサーバ環境一式をインストールできる
を使う。
MAMPをインストールして開いたあと、open webstart pageでwebページを開く。
wordpressをダウンロード。
wordpressフォルダをCドライブにあるMAMPフォルダのhtdocsフォルダにコピーし、必要な名前に変える。(blog等)
localhost/blog/　からwordpressを開き、設定を行う。
wordpressをセットアップするためのデータベースを指定する必要があるので、MAMPのopen webstart pageからMAMPのウェブサイトを開き、ToolsのphpMyAdminを開く。
左のnewをクリックし、databasenameをwordpress、その次の部分をutf8_general_ciにしてCreateをクリックすると、左の一番下にwordpressというデータベースが追加される。
wordpressのセットアップ画面に戻り、データベース名がwordpress、ユーザー名とパスワードはMAMPの場合root、にして送信をクリック。
次に必要情報を入力。ユーザー名とメールアドレスは同じ方がよい。
wordpressをインストールをクリックしてログインする。

###テーマの作成
MAMPフォルダのwordpressフォルダのwp-contentフォルダのthemesフォルダ内にテーマのフォルダを作成する。
そのフォルダ内にindex.phpとstyle.cssを作成。
作成したファイルに以下を記述する。

```css:sample.css
/*
Theme Name:　テーマ名
Author: 作者名
Version: 1.0
Description: 説明です。
*/
```
これは作成したテーマの詳細に記述される。

localhost/blog/wp-admin/で管理画面

###Start Bootstrap
Twitter社が開発したCSSフレームワーク



###テンプレートタグ
テンプレートタグとはwordpressになにかを実行したり取得するように指示するもの。



###ファイルの読み込み
woreperssでは、localhost/blogでwordpressを表示していて、ファイル、index.phpはblogファイルにあることになっている。なので、index.phpと同じフォルダにあるCSSフォルダを読み込むときは
href="wp-content/themes/gakus/css/clean-blog.min.css"
↑
↓
href="<?php echo get_template_directory_uri(); ?>/css/clean-blog.min.css" 
となる。
CSSに限らずファイル参照するときは同じようにする。

###wp head
```php:sample.php
<?php wp_head(); ?>
```
wordpressの設定ファイル等を読み込む。テーマテンプレートファイル内の </head> タグ直前で使う。

###wp footer
```php:sample.php
<?php wp_footer(); ?>
```
ページの最後に読み込むスクリプトに加え、ログインしているときにサイト上部に表示される管理バーのコードも出力される。テーマテンプレートファイル内の ＜/body＞タグ直前で使う。

上記2つは必ず書く



###the title
```php:sample.php
<?php the_title(); ?>
```
現在の投稿のタイトルを表示、あるいは返す。

###the time
```php:sample.php
<?php the_time(); ?>
```
現在の投稿の公開時刻を表示。
引数に使われるアルファベットは、いくつか種類があり、日付または時刻の特定の部分を表す。

###the content

```php:sample.php
<?php the_content(); ?>
```

投稿の本文を出力。


###the post
```php:sample.php
<?php the_post(); ?>
```

ループを次の投稿へ進める。次の投稿を取得して、それを現在の投稿としてセットアップする。

###the author
```php:sample.php
<?php the_author(); ?>
```

投稿の作成者名を表示。ユーザーのブログ上の名前が表示される。


###bloginfo
```php:sample.php
<?php bloginfo(); ?>
```

サイトの情報を表示させる関数。プロフィールや一般設定などの、WordPress管理画面で入力されたもの。この関数はテンプレートファイルの至るところで使うことができ、その結果は常にブラウザーに表示される。


###home url
```php:sample.php
<?php home_url(); ?>
```

ホームのURLを返す


###ループ
「ループ」は、WordPress の投稿を表示するために使われるPHPコード。このループを使えば、現在のページに表示される各投稿を処理したり、ループタグ内で指定された条件に沿って投稿の形式を整えたりできる。ループの開始部分と終了部分の間に書きこんだ HTML や PHP のコードは、各投稿の表示に使われる。WordPressデータベースから取り出した投稿・固定ページを1件ずつ表示していく（1ページに10件表示など）

###繰り返し
```php:sample.php
<?php while (have_posts()) : the_post(); ?>

・・・

<?php endwhile; ?>
```
while 繰り返し　have_posts()がtrueなら:の次の処理を実行
have_posts()　投稿があるか調べる
the_post()　次の投稿を読み込む 
endwhile whileの終わり


###the excerpt
```php:sample.php
<?php excerpt(); ?>
```
抜粋を表示





###WordPressテーマユニットテストデータ
WordPressのテーマを開発する際に、テーマの表示を確認するための「テーマユニットテストデータ」というものがある。 投稿や固定ページやコメント、メニュー等で崩れがないか確認できるダミーデータ。

###テンプレート階層
WordPress はテーマディレクトリ内から特定のファイル名でテンプレートを探し、決められたリストから最初に見つけたテンプレートファイルを使用する。

index.php テンプレートファイルはテーマに必須であるが、テーマ開発者は他のテンプレートファイルを含めるかどうかを選択できる。
WordPress は 一致する名前のテンプレートファイルが見つからなければそれをスキップして次の候補のファイル名を探す。
最後まで一致するテンプレートファイルが見つからなければ index.php (テーマのホームページテンプレートファイル) が使用されます。
https://wpdocs.osdn.jp/wiki/images/wp-template-hierarchy.jpg





###functions.php
テーマの中でwordpressの機能を拡張できるファイル。

```php:sample.php
<?php
function init_func (){
    add_theme_support('title_tag');
    add_theme_support('post-thumbnails');
}
add_action('init','init_func');

```
・add_theme_support('title_tag');
add_theme_supportはテーマやプラグインが特定のテーマ機能をサポートすることを許可するやプラグインが特定のテーマ機能をサポートすることを許可する。
title_tag
テーマがHTML＜head＞ にドキュメントタイトルタグを追加できるようになる。

・add_theme_support('post-thumbnails');
投稿ページでアイキャッチ画像が設定できるようになる。

・add_action('init','init_func');
最初にinit_funcを呼び出す。