技術メモ
YARPPをカスタム投稿(Custom Post Type UI)で表示するための備忘録

久々にWebページをいじっていて、つまづきました。
基本的に、Wordpressは世界的にもよく使われているCMSなので、ググれば情報がどんどん出てきます。けど、たまに断片的な情報だけで、罠にはまることがあります笑。そして、はまりました。これは、Webページに限らずですがね。なので、今度のためにも備忘録を作成。

基本的な方針

Yet another related post plugin(YARPP)をCustom Post Type UIに対応させるためにfunctions.phpで’yarpp_support’ => trueを記述する。

ってことなんですが、どうも調べるとこれだけ書けばいいというものではなく、Custom Post Type UIの記述全部書く必要があるみたいです。(Custom Post Type UIのプラグインを使う必要なくね?ってなりますね。)。そこで、ネットをいろいろ調べると情報が、ごちゃごちゃで実際にどういう記述でいいのか。いろんな情報に騙され、5時間ぐらい費やしてしまいした。なので、今後のことも考えて、備忘録です。

正しい流れは、、、

1、Custom Post Type UI のImport/Exportから「Get Code」タブから該当のコードをコピー。(それぞれCustom Post Type UIの設定によってコードは違います)。
2、表示されたコードにカスタム投稿で設定した独自の設定を追加する。
3、コードの中の register_post_type の記述内に ‘yarpp_support’ => true を追記。
4、追加されたコードを functions.phpに貼付ける。

1、Custom Post Type UIが吐き出すコード

注意点としては、実際にYARPPを対応させたいカスタム投稿タイプのみを抽出することです。(カスタム投稿タイプを2つ以上設定している場合)ちなみに、投稿タイプ名はblog、投稿タイプのラベルはLivalest’s Logです。僕の場合、下記コードが抽出されました。

*コード最上下のphpのタグは関係ありません。表示上の問題なので悪しからず。

2、カスタム投稿独自の設定のコードを追加する

ここが罠にはまったところです。上記のコードでは、YARPPと連携させるにはところどころ未完なんです。そこで、functions.phpに書くために、コードを追加する必要があります。ここでかなりつまずきました。blogの表記はカスタム投稿タイプのスラッグ名、Livalest’s Logの表記はカスタム投稿タイプのラベルです。”supports” => array( )、”taxonomies” => array(  )はあなたのカスタム投稿の設定によって変わります。実際に、書いたコードがこちらです。

上のコードだとどこを変えたのかわかりにくいので、直書きしますね。主に赤い部分を追加したり、注意しなければならないところです。

add_action( ‘init’, ‘cptui_register_my_cpt_blog‘ );
function cptui_register_my_cpt_blog() {
register_post_type(‘blog’, array(
“labels” => ‘Livalest’s Log‘,
“description” => “”,
“public” => true,
“show_ui” => true,
“has_archive” => true,
“show_in_menu” => true,
“exclude_from_search” => false,
“capability_type” => “post”,
“map_meta_cap” => true,
“hierarchical” => false,
“rewrite” => array( “slug” => “blog”, “with_front” => true ),
“query_var” => true,
“menu_position” => 5,
“supports” => array( “title”, “editor”, “excerpt”, “custom-fields”, “comments”, “thumbnail” ),
“taxonomies” => array( “category”, “post_tag” ),
“labels” => array(
“name” => “ブログ”,
“singular_name” => “”,
“menu_name” => “Livalest’s Log”,
“all_items” => “すべてのLivalest’s Log”,
“add_new” => “新規追加”,
“add_new_item” => “Livalest’s Logの新規追加”,
“edit” => “編集”,
“edit_item” => “Livalest’s Logの編集”,
“new_item” => “新しいLivalest’s Log”,
“view” => “表示”,
“view_item” => “Livalest’s Logを表示”,
“search_items” => “Livalest’s Logを検索”,
“not_found” => “見つかりません”,
“not_found_in_trash” => “ゴミ箱にはありません”,
“parent” => “親”,
)));}

YARPPと連携させるためのコードを追加

“yarpp_support” => trueを追加します。

実際に、このコードをfanctions.phpにコピーアンドペーストして終わりです。その後、下の図のように、YARPPの管理画面でカスタム投稿タイプのチェックボックスが出現していれば成功です。

YARPP管理画面
 

参考URL

Custom Post Type UIとYARPPでカスタム投稿の関連記事を表示させる方法
Custom post type UI とYARPPで関連記事をカスタム投稿にも表示する方法

どうでしたでしょうか?また、わからなければ僕でわかる範囲でお答えできればいいなと思います。

ホームページ制作ご対応エリア

LIVALESTは、個人のフリーランスとして活動しています。全国対応ではなく、大阪を中心とした関西圏の直接お会いできる距離を重要視しています。

直接、お話をお伺いすることで、広く深くクライアント様のビジネスを理解し、ホームページを通じて、要望を実現いたします。

  • 大阪府:
  • 池田
  • 泉大津
  • 泉佐野
  • 和泉
  • 茨木
  • 大阪狭山
  • 旭区
  • 阿倍野区
  • 生野区
  • 北区
  • 此花区
  • 城東区
  • 住之江区
  • 住吉区
  • 大正区
  • 中央区
  • 鶴見区
  • 天王寺区
  • 浪速区
  • 西区
  • 西成区
  • 西淀川区
  • 東住吉区
  • 東成区
  • 東淀川区
  • 平野区
  • 福島区
  • 港区
  • 都島区
  • 淀川区
  • 貝塚
  • 柏原
  • 交野
  • 門真
  • 河内長野
  • 岸和田
  • 四條畷
  • 吹田
  • 摂津
  • 泉南
  • 高石
  • 高槻
  • 大東
  • 豊中
  • 富田林
  • 寝屋川
  • 羽曳野
  • 阪南
  • 東大阪
  • 枚方
  • 藤井寺
  • 松原
  • 箕面
  • 守口
  • 八尾
  • 兵庫県:
  • 神戸
  • 姫路
  • 尼崎
  • 明石
  • 西宮
  • 洲本
  • 芦屋
  • 伊丹
  • 相生
  • 豊岡
  • 加古川
  • 赤穂
  • 西脇
  • 宝塚
  • 三木
  • 高砂
  • 川西
  • 小野
  • 三田
  • 加西
  • 丹波篠山
  • 養父
  • 丹波
  • 南あわじ
  • 朝来
  • 淡路
  • 宍粟
  • 加東
  • たつの
  • 京都府:
  • 京都
  • 福知山
  • 舞鶴
  • 綾部
  • 宇治
  • 宮津
  • 亀岡
  • 城陽
  • 向日
  • 長岡京
  • 八幡
  • 京田辺
  • 京丹後
  • 南丹
  • 木津川
  • 和歌山県:
  • 和歌山
  • 海南
  • 橋本
  • 有田
  • 御坊
  • 田辺
  • 新宮
  • 紀の川
  • 岩出
  • 奈良県:
  • 奈良
  • 大和高田
  • 大和郡山
  • 天理
  • 橿原
  • 桜井
  • 五條
  • 御所
  • 生駒
  • 香芝
  • 葛城
  • 宇陀
  • 滋賀県:
  • 大津
  • 彦根
  • 長浜
  • 近江八幡
  • 草津
  • 守山
  • 栗東
  • 甲賀
  • 野洲
  • 湖南
  • 高島
  • 東近江
  • 米原

ホームページ制作やWeb集客、
リニューアルやサイトの管理・運用・更新まで、
あなたのご相談・ご依頼をお待ちしております。

お電話でのお問い合わせ

050-5604-7128 平日10:00 - 18:00

24時間以内に必ず、ご連絡させていただきます。

ホームページ制作実績一覧