開発エンジニアブログvol.4 【WordPressで投稿のカテゴリを判別したり、色々やる!】
こんにちは!採用広報のあすぽんです!!
冒険社プラコレにはPLISMチームという開発エンジニア・デザイナーの専門事業部があります!
PLISMチームでは、まだ世の中にない新しいアイデアを生み出し実現させることをテーマに最先端の技術を取り入れた、No.1のユーザー体験を追求する最強のクリエイター集団を目指しています!
エンジニアは自ら企画し、開発しています。プラコレでは主軸事業の「プラコレウェディング」だけでなく
「DRESSY」や「farny」などのオリジナルメディアの運営、ウェディングドレスのEC事業、バーチャルオフィス事業など「新しい価値を創造し続ける」という理念の元、様々な事業を行っているんです!
そんなプラコレエンジニアメンバーが自ら学び、アウトプットしている開発エンジニアブログをwantedlyでもご紹介します!
今回はエンジニアkyotaのブログをご紹介。
2019年4月新卒入社のエンジニア。
プラコレ全般を担当。未経験から入社し、驚異のスピードで技術を身につけ
現在では、フロントからサーバーまでこなす。
「縁の下の力持ちとしてサービスの根幹を支える存在になる。」を目標に日々冒険中。
こんにちは。
昨日ブログを更新しようとしたら盛大に寝落ちしてしまいました。
何事も早めにこなすのが一番ですね。
最近、朝起きてカーテンを開けるとき、陽の光と一緒に花粉も侵入してきそうでしばらく開けるのを躊躇う僕です。
そんな今日はWordPressについてです。
先日、WordPressを使ったサイトで、
”あるカテゴリの場合のみ、この(特定の)コンテンツを表示させたい!”
という依頼を受けました。
つまり、
・投稿のカテゴリを取得
・↑で取得したカテゴリが指定したカテゴリかどうかを判別
・↑の結果によってコンテンツの表示・非表示を決定
ということですね。
最近は色々WP関連の開発はやっていなかったですし、色々調べながらやってみました。いい機会なのでその内容を書き記しておくことにします。
CodexからマッチするWP関数を探す。
まずは、codexを見ながら合いそうな関数を探してみます。
https://wpdocs.osdn.jp/関数リファレンス
今回やりたいことにマッチしそうなものがいくつか見つかりました。
名前で大体これかな、っていうのがわかりやすいのがwp関数のいいところですね。
今回使ったのは以下の二つ関数。(これだけで実装できるのはありがたいです)
get_term_children
引数にタームID(カテゴリID)、タクソノミー名を取ります。
タームIDに対象である親カテゴリのIDを入れればその子カテゴリIDを配列にまとめて返してくれます。
in_category
引数にカテゴリIDまたはカテゴリオブジェクトを入れればその投稿が引数で入れたカテゴリIDのカテゴリに属するか返してくれます。
WP関数を使って実装する。
コンテンツの表示対象のカテゴリは、カスタムフィールドを用いて、管理画面から登録できるようにしました。
そうすれば対象カテゴリに変更を加えたいときに開発者じゃなくてもできますしね。
(今回はカスタムフィールドに関しては省きます)
まずは管理画面で登録したカテゴリをget_fieldで取得。
そしてin_categoryの引数に取得したカテゴリIDまたはカテゴリオブジェクトなどを渡します。先ほど紹介した通り、そうすれば投稿がそのカテゴリに属するか判別してくれます。
ただ、それだけだと、子カテゴリまでは含まれません。
なので、get_term_childrenを使って、そのカテゴリの子カテゴリを取得してそれもin_categoryに渡せるようにします。
こんな感じで関数をfunctions.phpなどで定義して、どこでも使えるようにすると便利ですね。
WPを使ったサイト制作は、エンジニアの中では賛否両論という感じがあるかもしれませんが、
個人的には、ブログサイトを簡単に作りたい、けどゴリゴリにカスタマイズできるようにはしておきたい
という感じであればWPは結構便利かな〜と思います。
(PHPをよく使うのであれば尚更)
世界的にもそのシェアは圧倒的のようですし。
とはいえ、色々CMSだったりは登場していますし、
いろんなものを試してみるのも楽しそうです!
冒険社プラコレは情熱があり一緒に冒険してくれる、仲間を大募集しています!
サービスを一緒にこれから企画し、進化させてくれるエンジニア、デザイナーの皆さん、ぜひご応募ください!
https://www.wantedly.com/projects/594985
冒険社プラコレの仲間たちの日常を動画で紹介しています*
→https://vt.tiktok.com/ZSe4sPBbb/
ぜひチェックしてください♡
オフィス見学会も実施中!4月12日に会社説明会も実施します!
気になる方はお気軽にご応募くださいね!