第5回目では「カスタム投稿タイプ作り&プラグインで小説一覧、日記、更新履歴作成」のやり方をお教えします。
この時点で長い予感はします。お覚悟ください。
カスタム投稿タイプ「更新履歴」「日記」を作る
カスタム投稿タイプとは、Wordpressにデフォルトである「投稿」を増やした別の「投稿」のことです。なんのこっちゃ分かりませんが、「投稿」を夢小説に使用したとして、「日記」や「更新履歴」もそこに投稿したら、「投稿一覧」の中身がぐちゃぐちゃになるので「日記」、「更新履歴」というカスタム投稿タイプを作り、そこでそれぞれの記事を投稿をするのが便利!ですよね!
「Custom Post Type UI」というプラグインでカスタム投稿タイプを作れるので、早速試してみましょう!
「プラグイン」→「新規追加」→「Custom Post Type UI」と検索し、
上の画面のものをインストールしましょう。
「有効化」した後、「投稿タイプの追加と編集」を選択し、まず更新履歴を作りましょう。
スラッグを「update」ラベル二つは「更新履歴」にしました。記入する場所はそこだけで、一番下の「投稿タイプを追加」を選択しましょう。
左のメニューに「更新履歴」が追加されました。
「日記」も欲しい方はスラッグに「diary」ラベル二つに「日記」を記入し、「投稿タイプを追加」してください。日記も左のメニューに追加されました。
次は記事を作っていきたいのですが、その前にやることがあります。
コメント機能をすべて切る
投稿ページや固定ページを作るごとに、誰かがコメントが書けるスペースが現れるので設定でコメント機能を切りましょう。
「設定」→「ディスカッション」から、
全てのチェックを外すのです…!
チェックを外したら「変更を保存」してね。
「投稿」からカテゴリを増やす
左のメニューの「投稿」→「カテゴリ」から、カテゴリを増やしていきます。
「長編小説A」、「長編小説B」、「ジャンルA短編」で分けてもよいですし、「お相手A」「お相手B」…で分けるのもありです。
ちなみに私は多ジャンルで夢小説サイトをやっているので「長編A」「長編B」…と「ジャンルA短編」「ジャンルB短編」…と分けています。参考までに。
ひとまずこんな感じで、名前は日本語、スラッグは英語で、「新規カテゴリー追加」からテスト用にどんどこ増やしていきます。
この記事を読みながらサイトを作っている方は、そのまま試してみてもいいですし、自分のサイトに置きたいカテゴリを入れても大丈夫ですし、実践せず、見るだけでも大丈夫です。いや、それより一回流して読んでもらうのがオススメですね…!それから決めてもらった方がよいです。
原作A長編:gensaku-a-long
原作A短編:gensaku-a-short
お相手B:chara-b
を作成しました。
投稿(小説)、更新履歴、日記にて記事を何個かつくる
こちらも、流し読んでもらって構いません!
「投稿」→「新規投稿」から適当に作っていきます。カテゴリは右にあります。
「投稿一覧」からここまで作ったことが確認できます。
更新履歴も日記も4記事ほど追加してきました。
タグからお相手名を表示するための準備
必要ない方はとばしてください。
短編集(ここでは「原作A短編」)の小説タイトルの後ろにお相手名をそれぞれ書いておきたいですよね。
「クイック編集」からタグにお相手名を入力しておきましょう。
プラグイン「List category posts」をカスタマイズ
「プラグイン」から「List category posts」と検索し、
こちらをインストール、有効化して下さい。
インストールしたら、FTPにて「wp-content」→「plugins」→「list-category-posts」→「templates」へ
「default.php」を左画面へドラッグし、自分のPC内へDLしてください。
こちらをカスタマイズしていきます。
更新履歴、日記一覧のテンプレを作成する
「default.php」を「log.php」で別名保存します。
この記述を移動させます。
//Show the title and link to the post:
$lcp_display_output .= $this->get_post_title($post, 'h3', 'lcp_post');
//Show date modifiedの下にいれましょう。
//Show date modified:
$lcp_display_output .= ' ' . $this->get_modified_date($post);
//Show the title and link to the post:
$lcp_display_output .= $this->get_post_title($post, 'h3', 'lcp_post');
小説一覧のテンプレ作成する
「default.php」を「text.php」で別名保存します。
中身を下矢印のように変更していきます。
47行目
//Add 'starting' tag. Here, I'm using an unordered list (ul) as an example:
$lcp_display_output .= '<ul class="lcp_catlist">';
↓
$lcp_display_output .= '<div class="lcp_catlist">';
65行目
//Start a List Item for each post:
$lcp_display_output .= "<li>";
↓
$lcp_display_output .= "";
68行目
//Show the title and link to the post:
$lcp_display_output .= $this->get_post_title($post, 'h3', 'lcp_post');
↓
$lcp_display_output .= $this->get_post_title($post, 'span', 'lcp_post');
103行目
//Close li tag
$lcp_display_output .= '</li>';
endwhile;
// Close the wrapper I opened at the beginning:
$lcp_display_output .= '</ul>';
↓
//Close li tag
$lcp_display_output .= '/</span>';
endwhile;
// Close the wrapper I opened at the beginning:
$lcp_display_output .= '</div>';
タグでお相手名を出力する為の処理
必要ない方はとばしてください。
続けて「text.php」の68行目の下に記述を挿入します
//Post tags
$posttags = get_the_tags($single->ID);
if ($posttags) {
foreach($posttags as $tag) {
$lcp_display_output .= ' ('.$tag->name . ')';
}}
FTPに戻り、子テーマ内に「list-category-posts」というディレクトリを作成しましょう。
(右クリック→ディレクトリの作成で可能)
この中に「log.php」「text.php」を投入します。
ショートコードを使ってみよう!
固定ページで早速活用してみましょう。
今回もプラグイン特有のショートコードを活用していきます。
更新履歴を表示させる
「更新履歴」というタイトルの固定ページを作成し、下記の内容をコピペしてください。
[catlist post_type='update' numberposts=10 date=yes content=yes pagination=yes template=log posts_morelink=" " link_titles=false]
post_typeはカスタム投稿ならば、「カスタム投稿タイプ名」
numberpostsは「何件表示するか」
dateは「日付を表示するか」
contentは「記事本文を表示するか」(追記は含まない)
paginationは「記事下部にリンクを表示するか」
templateは「テンプレート名」(先ほど作成したlog.phpです)```
posts_morelinkは「追記を見るリンクの名前を変更」するためのパラメータです
link_titlesは「記事のタイトルから記事詳細ページにリンクさせるか」選択できます(falseなのでさせていません)
このようになります。
シンプル。10件以上記事が増えると、ページ下部にリンクが出てきます
日記を表示させる
「日記」というタイトルの固定ページを作成し、下記の内容をコピペしてください。
[catlist post_type='diary' numberposts=3 date=yes content=yes pagination=yes template=log posts_morelink=" "]
※posts_morelink=" "はお好みで外してください
プラグインの特性か、contentパラメータをいれるとすべての記事に「追記を見る」(英語)という表示が出てしまうので、あえて「追記を見る」を表示しない記載にしています。記事タイトルを選択したら記事詳細ページへ行き、全文見れるので、「追記を見るならタイトルからどうぞ」など書いておくと親切です。
後はCSSをちょっといじったらこんな表示になります。
投稿一覧を表示させる
フロントページに下記内容をコピペしてください。
小説一覧テスト
・原作A長編
[catlist catlist name="gensaku-a-long" numberposts=-1 order=asc template='text']
・原作A短編
[catlist catlist name="gensaku-a-short" numberposts=-1 order=asc template='text']
・お相手B
[catlist catlist name="chara-b" numberposts=-1 order=asc template='text']
catlist nameで特定のカテゴリの記事を表示させます。
numberposts=-1だと記事を全て表示できます。
order=asc だと上から古い順で表示させることができます。
スラッシュ区切りで小説を一覧表示できました。
タグを入力した短編にはお相手名もカッコで表示されています。
今回はここまで…!
次回(最終回!)はメニュー作り、便利なプラグイン紹介や補足になると思います。
ここまで読んでいただき、ありがとうございます。お疲れさまでした!
前回記事
【無料】WordPressで夢小説サイトを作ろう④ - 夢小説を楽しもう!
次回記事
【無料】WordPressで夢小説サイトを作ろう⑥ 最終回 - 夢小説を楽しもう!