
こんばんは。
spicatoのエンジニア、たけです。
あと2週間ほどで2021年も終わってしまいます。
12/31は一年で一番好きな日ですが、1/1は一年で一番苦手な日です。
spicatoではCMSにWordPressを使います。
今回はWordPressの投稿機能についてまとめてみたいと思います。
投稿機能
WPのメイン機能です。
インストール直後の投稿機能は「投稿」と「固定ページ」があります。
その他にプラグインの追加かfunctions.phpに記述することで使用できるようになる「カスタム投稿」があります。
「カスタム投稿」はお知らせとブログをそれぞれ別の投稿で管理したい!などの場合に使用します。
//カスタム投稿追加のfunctions.phpの記述例です。
// パラメーターは他にもいろいろあります。
// カスタム投稿の追加
add_action("init", "create_post_type");
function create_post_type() {
register_post_type(
"works",
array(
"labels" => array(
"name" => __("施工事例"),
"singular_name" => __("施工事例"),
'all_items' => __("施工事例一覧"),
),
"public" => true,
"has_archive" => true,
"show_in_rest" => true,
"supports" => array("author"),
)
);
}
プウラグインだと「Custom Post Type UI」がよく使われていると思います。
それぞれの投稿機能の特徴
「投稿」
・カテゴリとタグを設定できます。
「固定ページ」
・ページに親子関係を持たせることができます。
「カスタム投稿」
・カスタムタクソノミーの追加でカテゴリとタグの設定ができます。
・ページに親子関係を持たせることができます。
「カスタム投稿」は「投稿」と「固定ページ」の両方の特徴を持つことができます。
カスタムタクソノミー
「カスタム投稿」を追加しただけではカテゴリやタグの設定はできません。
「カスタム投稿」でカテゴリやタグを設定するにはカスタムタクソノミーの追加が必要です。
こちらもプラグインの追加かfunctions.phpに追記で使用できるようになります。
//カスタム投稿追加のfunctions.phpの記述例です。
// パラメーターは他にもいろいろあります。
// カスタムタクソノミーの追加
add_action("init", "create_post_taxonomy");
function create_post_taxonomy() {
register_taxonomy(
"works_category",
"works",
array(
"labels" => array(
"name" => __("カテゴリー", "taxonomy general name"),
"singular_name" => __("カテゴリー", "taxonomy singular name"),
),
"public" => true,
"hierarchical" => true,
"show_ui" => true,
"show_in_menu" => true,
"show_in_nav_menus" => true,
"query_var" => true,
"rewrite" => array("slug" => "works", "with_front" => false),
"show_admin_column" => false,
"show_in_rest" => true,
"rest_base" => "",
"show_in_quick_edit" => true,
);
}
プウラグインだとカスタム投稿でも紹介しました「Custom Post Type UI」でカスタムタクソノミーの追加ができます。
投稿の使い分け
「投稿」
ブログやニュースなど更新の多いコンテンツに使用。
「固定ページ」
会社概要や交通アクセス、お問い合わせなど更新がほとんどないページで使用。
「カスタム投稿」
「投稿」だけでは足りない場合に使用。
が一般的な使い方だと思いますが、個人的には「投稿」は極力使わないようにしています。
更新コンテンツが一つの場合でも「投稿」を消して「カスタム投稿」を追加しています。
WP開発をしているとよくあるのが
・「投稿」のURLの変更
・カテゴリを横断した「投稿」の一覧ページの設定
です。
この二つは必ずと言っていいほど毎回設定しています。
ここで「投稿」を使っているとデフォルトではどちらもできません。
プラグインの追加や、専用のページを追加したり、functions.phpに追加の記述が必要です。それぞれ別で設定が必要で複雑化してしまいます。
これが「カスタム投稿」だと「カスタム投稿」を追加するついでにどちらもまとめて設定できてしまいます。
// カスタム投稿の追加
add_action("init", "create_post_type");
function create_post_type() {
register_post_type(
"works",
array(
"labels" => array(
"name" => __("施工事例"),
"singular_name" => __("施工事例"),
'all_items' => __("施工事例一覧"),
),
"public" => true,
"has_archive" => true, //カテゴリを横断した一覧ページ
"show_in_rest" => true,
"supports" => array("author"),
//URLの変更
"rewrite" => array(
"slug" => "work",
"with_front" => false
),
)
);
}
他にも社員紹介で入力は分けたいけれど、表示はまとめるので「詳細ページは不
要」などの設定も割と多く、この場合も「カスタム投稿」を使います。
最初は設定が難しく感じるかもしれませんが(特にカスタムタクソノミー)、慣れると便利な「カスタム投稿」です。
是非使ってみてください。
それでは、また。