LinkStory Wiki
【ACF】ACF設定からカスタム投稿を追加する【function記入なし】
function記入なしでダッシュボードからカスタム投稿などを追加する方法。
1. ACF→「投稿タイプ(Post Types)」→「新規追加」を選択。

2. 項目の設定
複数ラベル(Plural Label)
カスタム投稿名。
サイドメニューや項目などに表示される。
単数ラベル(Singular Label)
投稿画面などの表示名。
基本的に「複数ラベル(Plural Label)」と同じ名前を入力。
※英語表記などでは複数形や単数形で表記を分けたい場合などに利用してね。
投稿タイプキー(Post Type Key)
英数文字で、スラッグを入力
※半角英数、アンダースコアのみでお願いします。
一般公開(Public)
カスタム投稿タイプを一般公開するかどうかの設定。
基本的にONで大丈夫。
※OFFにした場合、記事URLの設定がなくなります。
また、「〇〇〇〇.com/123」というURLで公開されていた記事は404になります。
※アーカイブ一覧やデフォルトのパーマリンク表示ではアクセスすることができます。
階層的(Hierarchical)
投稿の親子関係を持たせることができます。
(例)不動産情報サイトで、親:物件情報→→子:建物や部屋

3. 高度な設定
全般
編集画面に表示したい項目のチェックをいれてください。
通常の投稿エディターがいらない場合は「エディター」のチェックを外す。
2.で設定した「階層的(Hierarchical)」の表示がONの場合。
「ページ属性」に必ずチェックを入れてください。
ラベル
各項目の表示名を変更できる。
その他のタブ
基本デフォルトで大丈夫です。

(補足) singleページがうまく表示されない時
function.phpに次の記述を追加して、URLを書き換えます。
※{投稿タイプキー}は実際の値に変更してください。
◆◆URLを /{投稿タイプキー}/{投稿ID} にする場合◆◆
add_filter('post_type_link', function($permalink, $post){
if ($post->post_type === '{投稿タイプキー}') {
return home_url('/{投稿タイプキー}/' . $post->ID);
}
return $permalink;
}, 20, 2);
add_action('init', function(){
add_rewrite_rule('^{投稿タイプキー}/([0-9]+)/?$', 'index.php?post_type={投稿タイプキー}&p=$matches[1]', 'top');
});
◆◆URLを /{投稿タイプキー}/{slug} にする場合◆◆
add_filter('post_type_link', function($permalink, $post){
if ($post->post_type === '{投稿タイプキー}') {
return home_url('/{投稿タイプキー}/' . $post->post_name);
}
return $permalink;
}, 20, 2);
add_action('init', function(){
add_rewrite_rule('^{投稿タイプキー}/([^/]+)/?$', 'index.php?post_type={投稿タイプキー}&name=$matches[1]', 'top');
});