エピソードのリストを作るよ①
こんちわ。ついさっきまで昼寝してて眠いです。
さて、今回は自作アーカイブサイトを作る上で、必要不可欠な機能を作ろうかなと。
前回のおさらい
前回、『小説タイトル』『エピソード』のカスタム投稿タイプを作っておきました。
また、Advanced Custom Fieldを使って、『エピソード』の投稿タイプには、カスタムフィールドとして該当する『小説タイトル』を選択出来るようにしてます。小説タイトルの投稿IDを保存するようにしてます。
作りたいもの
作りたいのは、特定のエピソードのリストです。要はこんなやつ。
こちらはハーメルンですが、小説家になろうでもカクヨムでもどこでもありますよね。この機能を作りたい。
ショートコードを作る
リストを作りたいといったところで、これを自分で手打ちで作れと言われると、非常にめんどくさいです。
なので、今回はこのリストを作ってくれるショートコードを作ろうかなと。
で、『小説タイトル』の投稿を表示させた時に、そのエピソードのリストを自動的に表示してくれるようにしようってわけです。
というわけで、まずはfunctions.phpにこんなコードを書きました。
function get_episode_list(){
return "うなぎ";
}
add_shortcode('episode_list', 'get_episode_list');
これで、『[episode_list]』というショートコードを投稿に突っ込めるようになります。
突っ込んだところには、『うなぎ』という文字列が表示されるでしょう。まずはこれでショートコードを作ることに成功しました。
余談ですが、本来なら『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が表示されると思います。こんな感じ。
あとはこの投稿IDを使ってエピソードを絞り込み、そのリストを表示させればOKです。先が見えてきました。
今日はこれでとりあえず終わり。眠いです……