相変わらず MAMP でローカルにWordPressでのデータベース構築実験,続行中。
標準のカテゴリーだけで処理することも可能かもだが,将来的なことも考えて,Advanced Custom Fields (ACF) というプラグインを試してみることにした。かなり意欲的なプラグインであり,独自APIまでいろいろと準備されている。
オフィシャルサイトのDocumentationとかサンプルを少し読んで,とりあえず自分で作成したフィールドを記事に表示させることが出来たので,忘れないようにメモ。使うのは,get_field, the_field という関数(API)たち。
直にHTMLというかPHPを書き込んでも良いのだが,これも将来的なことを考えて,関数にしてみた。オフィシャルの the_category() という関数のソースを参考にして,適当に自分の関数を定義してみる。例えば名前を show_my_fields() としてみよう。これを,使っているテーマ付属の functions.php の末尾にでも追加する。PHPはまるっきりの初心者で,文字列結合の演算子とかも知らないものだから,思いっきり冗長なベタ書きコードになっているが,まあ,とりあえず動作したということで。
<?php
function show_my_fields( $post_id=false ) {
if ( get_field('shutten')) {
echo '<span class="metacat">';
echo "出典: ";
echo get_field('shutten');
if ( get_field('opt')) {
echo get_field('opt');
}
echo "</span>";
}
}
?>
そして,これをフィールドを表示させたいところに,
show_my_fields()
と書けばよい。これで,独自フィールドの表示は成功。
次は,標準のカテゴリー表示のように,特定のフィールドに合致するエントリーをアーカイブとして表示させたいのだが,まだどうしてよいか分からない状態。フィールドに一致するエントリー全体の配列かなにかを返してくれる関数(API)があるはずだとは思うのだが。
あと,PHPの文法も少し勉強しなくては。というか,PHPって,コードとHTMLが同時に混ざっているって,どういう仕様なんだ〜 😯 とか思うのだが。不思議な言語ではある 😉 。