
カスタム投稿で投稿者が表示されてないけど、どうやって表示させるの?
今回はそんな疑問にお答えします。
効率よくWordPress制作したい人はこちら
カスタム投稿はデフォルトでは投稿者は表示できない
まず通常の投稿の場合ですが、表示オプションを開くと投稿者という項目があります。
しかしカスタム投稿の場合は項目がありません。
なので、ここに投稿者の項目を表示されるようにしたいと思います。
functions.phpにコードを追記
以下のコードをfunctions.phpに追記して下さい。
<?php
add_action('admin_menu', 'myplugin_add_custom_box');
function myplugin_add_custom_box()
{
if (function_exists('add_meta_box')) {
add_meta_box('myplugin_sectionid', __('投稿者', 'myplugin_textdomain'), 'post_author_meta_box', 'カスタム投稿名', 'advanced');
}
}
function manage_投稿タイプスラッグ_columns ($columns) {
$columns['author'] = '投稿者';
return $columns;
}
function add_投稿タイプスラッグ_column ($column, $post_id) {
if ('author' == $column) {
$value = get_the_term_list($post_id, 'author');
echo attribute_escape($value);
}
}
add_filter('manage_posts_columns', 'manage_投稿タイプスラッグ_columns');
add_action('manage_posts_custom_column', 'add_投稿タイプスラッグ_column', 10, 2);
ここで「投稿タイプスラッグ」とありますが、これはCustom Post Type UIで作成した場合は以下で確認出来ます。
この場合はお客様の声というカスタム投稿で、投稿タイプスラッグはvoiceとなります。
なのでfunctions.phpはこのようになります。
<?php
add_action('admin_menu', 'myplugin_add_custom_box');
function myplugin_add_custom_box()
{
if (function_exists('add_meta_box')) {
add_meta_box('myplugin_sectionid', __('投稿者', 'myplugin_textdomain'), 'post_author_meta_box', 'カスタム投稿名', 'advanced');
}
}
function manage_voice_columns ($columns) {
$columns['author'] = '投稿者';
return $columns;
}
function add_voice_column ($column, $post_id) {
if ('author' == $column) {
$value = get_the_term_list($post_id, 'author');
echo attribute_escape($value);
}
}
add_filter('manage_posts_columns', 'manage_voice_columns');
add_action('manage_posts_custom_column', 'add_voice_column', 10, 2);
するとカスタム投稿でも表示オプションに投稿者の項目が表示されるようになりました。
以上になります。
Brainランキング1位獲得 & 3日で500部突破 クチコミ約300件 今だけ!5つの無料特典あり🎁 👇画像をクリック
WordPress案件の単価と作業効率を上げる!
(平均スコア)