【D84】Wordpressの基本機能を保有したテーマを理解する

TOPページの活用法

index.php

index.phpはTOPページに使用するテンプレートで、絶対に必要なファイルになります。
他にもカテゴリーやタグの一覧ページなどにも使用されます。

front-page.php

front-page.phpはindex.phpとhome.phpよりも優先されて表示することができるTOPページのテンプレートです。
front-page.phpが一番優先度が高いTOPページのテンプレートになります。
front-page.phpが存在する場合はhome.phpと違って、管理画面の表示設定で固定ページがフロントページに設
定されていても影響を受けずにfront-page.phpが表示されます。

home.php

home.phpはindex.phpよりも優先されて表示することができるTOPページのテンプレートです。
両方のファイルが存在する場合、home.phpが優先されてTOPページに使用されます。

投稿ページの活用法

single.php
投稿ページのファイル

投稿ページの機能は、企業サイトの「新着情報」や「更新が必要」な記事、画像等があれば投稿の機能を利用すると便利です。

・記事には日付やコメント、前後の記事リンクなどが表示されます。
・テーマによっては関連記事が表示されたり、逆に日付などを非表示にする選択機能が備わっていたりもします。
・作成したページは更新した順から時系列に並んでいきます。
・投稿ページを利用して作成したページは必ず「投稿記事一覧」のようなアーカイブページにも表示されます。
・投稿ページには「カテゴリー」が設定でき、記事を分類することができます。
・投稿ページには「パーマリンク設定」が適用されます。

検索ワード

wordpress 投稿ページ

固定ページの活用法

固定ページは一般的に「会社案内」「お問い合わせ」「サイトマップなど、時系列に並ぶ必要のない単体のページを作るときに使います。

page.php
固定ページのファイル

・固定ページ同士で階層を作る事ができます。
・固定ページごとに適用するデザインテンプレートを切り替える事ができます。
・カスタムメニューを使って固定ページへのリンクを表示させる事ができます。
・投稿記事のように、ページにカテゴリやタグの設定をする事ができません。
・固定ページのコンテンツ内にPHPのコードを書いても動きません。

検索ワード

wordpress固定ページ

固定ページのカスタムテンプレート

WordPressの固定ページごとに、レイアウトやデザインを変えたくないですか。
たとえば、固定ページごとにサイドバーのデザインを変更し、それぞれのページに合った広告やナビゲーションを配置するために。
それを可能にするのが『カスタムテンプレート』。
固定ページ限定なので、ご注意を。

以下の記述を加えるだけ

<?php
/*
Template Name: gallery
*/
?>

・テンプレートとなるPHPファイル(○○.php)を作成する。
【注意】
ァイル名は、WordPressで既に存在するテンプレート名・テンプレートパーツ名以外であれば、何でもOK。

検索ワード

wordpress カスタムテンプレート

条件分岐タグ

条件分岐タグは「PHP」というプログラミング言語により書きます。

have_postsの場合

<?php if(have_posts()): while(have_posts()):
the_post();?>
<h1><?php the_title(); ?></h1>
<?php the_content(); ?>
<?php endwhile; endif; ?>

こちらのループ処理は、「記事があればタイトルを、h1タグで囲み、次に本文を表示させるという処理を、ある記事の数だけ繰り返して行ってください」という意味になります。

検索ワード

wordpress 条件分岐タグ

if文を使う

・1つめのifに当てはまらなかったときに、2つめのelseifの条件を判定してくれるようになります。はいくつ繋げてもOK!
・ifとelseifの後にはコロン(:) ※if() :とelseif() :というように書きます。 ;と書くとエラーになります。
・endifの後にはセミコロン(;) ※endif ;というように書きましょう。
・括弧の数に注意 ※また「括弧を書き忘れていないか」にも注意しましょう。 (と)の数は一致するはずです。
・全角で書かない ; : ?phpなどは必ず半角英数字で書くようにしましょう。

例:PHPのif文で書く

<?php if (条件) : ?>
条件に当てはまるときに表示するものをココに書く
<?php else: ?>
条件に当てはまらないときに表示するものをココに書く
<?php endif; ?>

例:elseifで細かな条件分岐ができる

<?php if ( is_single() ) : ?>
①記事ページで表示するものをココに書く
<?php elseif ( is_page() ) : ?>
②固定ページで表示するものをココに
<?php else: ?>
①と②のどちらにも当てはまらないときに表示するものをココに
<?php endif; ?>

検索ワード

wordpress if文

ループ処理のタグと合わせる

while文は、for文と同様のループ処理を行うためのPHP構文で、条件が真の間だけ与えられた文の実行を繰り返すというループを記述するための文法。
・whileはendwhileで終わる
・回数が決まっている時にはfor文で回数が未定の場合は while文を使うのが便利
・永遠に処理を繰り替えさないための処理が必要

while → 処理を繰り返す構文
have_posts() → 次の記事があるか調べる
the_post() → 次の記事を取得する

投稿ページの記述例

<?php if ( is_single() ) : ?>
①記事ページで表示するものをココに書く
<?php elseif ( is_page() ) : ?>
②固定ページで表示するものをココに
<?php else: ?>
①と②のどちらにも当てはまらないときに表示するものをココに
<?php endif; ?>

※上下書いていることは同じです

<?php if(is_single()): ?>
<?php while(have_posts()): ?>
<?php the_post();?>
<?php the_content(); ?>
<?php endwhile; ?>
<?php endif; ?>

検索ワード

wordpress While文

他のページに投稿を表示させる

query_postsの使い方
「query_posts」はループ処理の前に、表示させたい記事の条件を一行追加するだけで、記事件数や特定カテゴリーなどを抽出して一覧表示してくれます。

<?php query_posts('showposts=5&cat=0'); while(have_posts()) : the_post(); ?>
<a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a>
<?php endwhile; ?>

showposts=5&cat=0
は、「showposts=5」は表示件数を5件「cat=0」でカテゴリーを指定できます。
※0は全てのカテゴリーの意味を指します。数字はカテゴリーのIDを書く

検索ワード

wordpress query_posts

アイキャッチ画像の表示方法

WordPressの投稿記事では「アイキャッチ」と呼ばれるサムネイル画像を設定することができます。

任意の場所で以下のコードを記述

 wordpressアイキャッチ画像
アイキャッチ画像の表示方法
<?php the_post_thumbnail(); ?>

サイズ別で指定する場合

<?php the_post_thumbnail('thumbnail'); ?> //サムネイルのサイズ
<?php the_post_thumbnail('medium'); ?> //中サイズ
<?php the_post_thumbnail('large'); ?> //大サイズ
<?php the_post_thumbnail('full'); ?> //フルサイズ

functions.php

add_theme_support('post-thumbnails');

CSSのクラス名を入れたい場合

<?php the_post_thumbnail('thumbnail', 'class=sample'); ?>

検索ワード

wordpress アイキャッチ画像

ウィジェットの活用について

sidebar.php

<?php dynamic_sidebar(sidebar); ?>

表示させたいパーツに上記のコードを記入
「functions.php」ウィジェット用のコードを記入
管理画面に「ウィジェット」が出てくるのでこれで使用可能になる

「ウィジェット」で
・カレンダー
・アーカイブ
・検索機能
が実装できるので必要なファイルと設定が増えます

functions.php

//ウィジェットの設置(1つ目)
if ( function_exists('register_sidebar'))
register_sidebar(array(
'name'=>'sidebar',
'id' => 'sidebar',
'before_widget'=>'<div>',
'after_widget'=>'</div>',
'before_title' => '<h3>',
'after_title' => '</h3>'

検索ワード

wordpress ウィジェット

世の中のWordpressの仕事

運用、更新作業

テーマづくり

WordPressのセキュリティの仕事

サーバーの引っ越し作業

学校のポートフォリオを新しいサーバーに引っ越しを行う。

以下のプラグインを使用する。

エクスポートとインストールを行う

引っ越ししたサイトのリンク先について

リンクが無効になっているので、プラグインでリンク置き換えを行うとよい

ポートフォリオサイト2個持った状態はどうする?

学校のが最新版になって、新しいサーバーが古くなっていく場合、今日行った作業を再度行い、最新版にする。(新しいサイト→学校のサーバーにインストールは逆はダメ)

学校のは使わなくていい?→成績考査で学校のポートフォリオサイトは使用するので、最低限の構成は必要。

所感

オリジナルテーマをつくるにはスキルや理解が全然追い付いていないが、こういう流れでテーマができているんだな、という雰囲気は理解した。

Categories