エピソードのリストを作るよ①

こんちわ。ついさっきまで昼寝してて眠いです。

さて、今回は自作アーカイブサイトを作る上で、必要不可欠な機能を作ろうかなと。


前回のおさらい

前回、『小説タイトル』『エピソード』のカスタム投稿タイプを作っておきました。

画像3

画像4

また、Advanced Custom Fieldを使って、『エピソード』の投稿タイプには、カスタムフィールドとして該当する『小説タイトル』を選択出来るようにしてます。小説タイトルの投稿IDを保存するようにしてます。


作りたいもの

作りたいのは、特定のエピソードのリストです。要はこんなやつ。

画像1

こちらはハーメルンですが、小説家になろうでもカクヨムでもどこでもありますよね。この機能を作りたい。


ショートコードを作る

リストを作りたいといったところで、これを自分で手打ちで作れと言われると、非常にめんどくさいです。

なので、今回はこのリストを作ってくれるショートコードを作ろうかなと。

で、『小説タイトル』の投稿を表示させた時に、そのエピソードのリストを自動的に表示してくれるようにしようってわけです。


というわけで、まずはfunctions.phpにこんなコードを書きました。

function get_episode_list(){
	return "うなぎ";
}
add_shortcode('episode_list', 'get_episode_list');

これで、『[episode_list]』というショートコードを投稿に突っ込めるようになります。

画像2

突っ込んだところには、『うなぎ』という文字列が表示されるでしょう。まずはこれでショートコードを作ることに成功しました。

余談ですが、本来なら『hoge』てやる人が多いと思いますけど……クセでよく『うなぎ』て打ってしまうんですよ(;・∀・)


小説タイトルの投稿IDを読み込めるように

このまま、さっきのコードを以下のように改造します。

function get_episode_list(){
	//ID取得
	$id = get_the_ID();

	//値を返す
	return $id;
}
add_shortcode('episode_list', 'get_episode_list');

『get_the ID()』てのは、投稿IDを返す変数です。これで記事の最後に投稿IDが表示されると思います。こんな感じ。

画像5

あとはこの投稿IDを使ってエピソードを絞り込み、そのリストを表示させればOKです。先が見えてきました。

今日はこれでとりあえず終わり。眠いです……

この記事が気に入ったらサポートをしてみませんか?