はじめてのマルチポスト投稿

マルチポスト投稿、使い方がすこしずつ解ってきました。これ、テーマの中のfunctions.phpに書く方法がネットで紹介されていたので、その方法を使ってます。functions.phpで用意するPHPのコードは次のとおり。

1. ポストタイプを追加とは
WordPressの記事をデータベースで確認すると、wp_postsというテーブルにpost_typeという項目があり、そこにポストタイプが記録されます。そして記事として表示されるのはpost_typeが「post」のみ。

今回設定するマルチポスト投稿では、この「post」の他に記事として表示可能なpost_typeを設定し、デフォルトの「post」と同じように使えるようにします。

2. functions.phpに設定する内容
さっそくですがfunctions.phpにカスタムポストを設定する手順です。
(1) WordPressの関数、register_post_type()でポストタイプを追加する。
(2) WordPressの関数、add_filter()で、追加したポストタイプを表示する際のURLを定義する。’post_type_link’と’rewrite_rules_array’の2つを定義する。
(3) WP_Widgetクラスを継承した新しいWidgetのクラスを定義する。このクラス内に__construct()でウィジェット名定義し、widget()で機能を定義する。

3. 使い方
使い方は次のとおり。
(1) ポストタイプが有効になると、WordPressの管理メニューにデフォルトの「投稿」の他、新しいポストタイプの投稿が表示されます。このメニューでカスタムポスト投稿の記事を追加します。
(2) 記事を公開したら、表示されるかチェックします。
(3) 管理メニューから「外観」の「ウィジェット」を使い、functions.phpに追加したウィジェットを追加します。(テーマによって、表示される場所に制限があります。)

4.試した例
下記は、WordPressデフォルトのテーマ「twentysixteen」のサイドメニューにカスタムポスト投稿「最新の技術記事」用ウィジェットを追加した例です。