カスタム投稿タイプのメリットとデメリット。苦労して導入しながら結局元に戻した話

このブログは元々は雑記ブログとして始めたんですけど、色々と記事が増えていくにつれて繋がりのないカテゴリーが増えてきたのもあって、一度整理しようとカスタム投稿タイプなるものを導入しました。

2日かけてゲームカテゴリの投稿をカスタム投稿タイプに以降したんですけど、結局また1日かけて元に戻すハメに。

この手間と苦労を無駄にしないために、元に戻す羽目になった経緯とカスタム投稿タイプのメリットとデメリットの話でも書き残しておこうかと思い至った次第でござりまする。

カスタム投稿タイプのメリットとデメリット

サイト構築が自由になるのがメリット

スマホに穴が空くぐらい調べた感じだと「サイトの構築が自由になる」のが一番のメリットらしいです。「らしい」というのは、完全に使いこなす前に諦めたので……。

例えば、シングルページやサイドバーを投稿タイプごとに違うものにしたり、投稿とは別のカテゴリーやタグを用意したりといったことが可能です。

カスタム投稿タイプのメリットが光る時

別のpostが欲しくなったとき、というのは例えばこんな時です。wordpressネタを日々書いているサイトがあったとしましょう。日々の更新は、post(投稿)を使って書きます。ただ、このサイトの管理人がたまに勉強会を開いていて、その勉強会のお知らせを別管理にしたい、独立した時系列記事として管理したい、というニーズがあったとします。こういうときに、カスタム投稿タイプが使えます。

引用:カスタム投稿タイプって、どういうときに使うんだろう

まさに。

「お知らせ」とか、「商品データ」とか、そういう日々の投稿とは違う趣を持ったコンテンツを分類するのに適しています。

投稿のように扱うのは難しい

今回はその機能を使って「ゲーム関連の記事と普段の雑記を完全に別サイトのように運用したい」と考えていたんですけど、どうやらそこまでやると邪道っぽい。

「ゲーム関連の記事」は、言ってしまえば“別カテゴリーの日々の投稿”なんですけど、こういうのを分類するのには向いてないようです。今回の経験から、「素人は素直にカテゴリーを使っとれ」ということが身に沁みました。

というのも、投稿をカスタム投稿タイプにして通常通りのデザイン・運用・管理をしようと思うと、phpをいじることを避けられず。もちろんプラグインでも可能なんですが、プラグインでは対応しきれない細かい不具合が山ほど出てきます。

どんな調整が必要かは使っているテーマにもよります。このブログで使用している「SANGO」はカスタム投稿タイプに対応していようで、結構な数の不具合が出ました。

それでは、その調整を頑張った末に膝が折れてしまうまでの事の顛末を、聞いてください……。

カスタム投稿タイプの導入を諦めた理由

まず最初にぶち当たった問題が、「記事一覧にカテゴリーが表示されないこと」。

これです。

記事一覧のカテゴリーが非表示になる

細かいとこですけど、一覧をパッと見ただけで何の話か分かりますし、内容を補填してくれる、個人的に結構大事なところ。

カテゴリーを呼び出すには「get_the_category」というコードを使うんですが、カスタムタクソノミーではこれが使えず、「get_the_term_list」と記述する必要があります。

ところが、ほとんどのワードプレステーマのコードは「get_the_category」しか使われていなかったりするので、上の様な表示関連の問題が色々と起こるらしいです。

タクソノミーとは
聞きなれない横文字なので分からない人も多いと思うんですけど、「タクソノミー=分類」だと思ってOKです。カテゴリーもタグもタクソノミーの一種。ちなみに、タクソノミーで分類された項目を「ターム」と言います。ワードプレスに備え付けてあるカテゴリー・タグとは別の分類ルールを設定することを「カスタムタクソノミー」と言います。

ググって情報を集めながらなんとかかんとか解決を試みたんですが、同じアーカイブでも日付、カテゴリー、タグなどもろもろあって、ぼくの知識ではどうやら全部で表示するのは無理っぽい……。

記事の下のところは表示できたんですけどね。

記事一覧のカテゴリーが非表示になる

表示はしているけれども、クリックしてみるとリンク先がなんかおかしい。カテゴリーをクリックしてもなぜか表示されている記事のトップに飛ぶ。困った困ったと他の記事から開いてみると、今度はNotfound404。

カスタムタクソノミーを作っていたのが原因かと思って元のカテゴリーに戻してみたんですけど、相変わらずの404。

ワードプレス備え付けのカテゴリー、タグのアーカイブに飛べても、そこにカスタム投稿タイプの投稿を呼び出すコードが記述されていないのが原因っぽいです。

これを全部調整しようと思うとphpの知識が必要になり、手間も時間もそれなりにかかるなと。それでいて、今後のカスタマイズもめんどくさくなる可能性大。

普通の投稿と同じように扱うのはハードルが高い

例えば、カテゴリーごとの人気記事を表示したりとか、特定のカテゴリーリストを表示したりとか、そう言うことがしたいと思った時に、いちいち「get_the_term_list」が必要になるわけです。

試しに「WPP Plus Post」というプラグインでカテゴリー毎の人気記事の表示を試みてみたんですが、カスタム投稿タイプの記事は見事に表示されず。集計対象外なのか、表示対象外なのか、あるいはその両方なのかは分かりませんが、とにかくめんどくさい壁が目の前にあることだけは確か。

これは、phpの知識なんかほぼほぼゼロのまま、ググってからのコピペでなんちゃってカスタマイズを繰り返している自分にとってはかなり高い壁でした。

結局、カスタム投稿タイプは「お知らせ」とか「ギャラリー」とか、普通の投稿とは趣が違うコンテンツ向けってことなんでしょうね。記事を整理して分ける目的で利用するなら、テーマを変えるところから考えるか、phpを1から勉強した方が早そうです。

ってことで、2日間の努力も空し、全て元の形に戻ることに相成りましたとさ。

カスタム投稿タイプを使うなら対応しているテーマを使うのが吉

カスタム投稿タイプを通常の投稿のように表示・管理できるテーマもあって、有名どころでは「Lightning」というテーマがカスタム投稿タイプに対応しているようです。

参考 カスタム投稿タイプ/カスタム分類に自動対応!<br /> パンくずやテーマファイルの書き換えが不要です。Vektor WordPress Solution

無料版の「Lightning」と有料版「Lightning Pro」の2種類があって、カスタマイズや更新頻度、サポートの面で有料版の方がおすすめです。自分でcssやphpを自分でガッツリ作りこめる人は無料版でも十分かも。

Vektor WordPress Solutions

果たして普通の投稿と大差ないぐらいに扱えるのかは謎ですが、有料版のみの機能の中でもアーカイブやトップページの記事のレイアウトを自由に組み替えれる「Media Post」機能がアツい。

トップページに新着記事なんか並んでもぶっちゃけ「誰が喜ぶんや?」っていう気しかしないので、こういう機能を探していました。アーカイブとかも並べ替えれるっぽくて、ちょっと気になるところ。

自分はSANGOが気に入っているので乗り換えは今のところ考えていませんが、この機能には惹かれます。

まとめ:カスタム投稿タイプで記事を更新するのは難しい

というわけで、カスタム投稿タイプを利用してゲーム関連の記事を完全に別のサイトのように扱う計画は諦め、素直にカテゴリー毎にサイドバー、フッターのウィジェットの表示を分けることにしました。

気分で色んなカテゴリーの記事を書いているので、今後もカテゴリー毎にウィジェットが増えてくると思うとサイトが重くなるのがちょっと心配。

計画は頓挫しましたが、動画や写真のギャラリーとか、お知らせとか、投稿とは完全に別のコンテンツを作る時に、この日に得た知識を活かしたい。活きて欲しい。

SNSアカウントでコメントできます

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください