如何在仪表板帖子列表中显示自定义字段(替换标题)
Posted
技术标签:
【中文标题】如何在仪表板帖子列表中显示自定义字段(替换标题)【英文标题】:How to display a custom field in the dashboard posts list( replacing the title ) 【发布时间】:2019-10-01 12:09:49 【问题描述】:我正在使用 WordPress,我确实创建了一个包含多个自定义字段的自定义帖子类型(使用 ACV,高级自定义字段) 我已经隐藏了所有基本的 WordPress 字段,如标题、内容编辑器缩略图等,所以我只留下我的自定义字段来创建新帖子。
由于在创建帖子时没有填写标题,我得到了一个帖子列表,每个标题都设置为“自动草稿” 我显然不想要的东西。
我的问题很简单:
是否可以,如果可以,如何将标题替换为仪表板帖子列表中我的自定义字段之一。
我到处搜索,但找不到答案。
对不起,我的英语不是我的母语,我希望你能理解我基本上想要做什么。
感谢您抽出宝贵时间阅读我的问题。 祝你有美好的一天
【问题讨论】:
欢迎来到***兄弟 【参考方案1】:我自己设法找到了解决方案。
假设您有一个名为“test”的自定义帖子类型,其中包含 3 个自定义字段,分别名为 one
、two
和 three
。而你想去掉标题和日期,在帖子列表表中显示one
、two
和three
的内容。
首先,您必须创建一个删除标题和日期并创建新列的函数。
function custom_columns($columns)
unset($columns['title']);
unset($columns['date']);
return array_merge(
$columns,
array(
'one' => __('One'),
'two' => __('Two'),
'three' => __('Three')
)
);
add_filter('manage_test_posts_columns', 'custom_columns');
那么你需要在帖子列表表格中显示自定义字段内容:
function display_custom_columns($column, $post_id)
switch ($column)
case 'one':
echo get_post_meta($post_id, 'one', true);
break;
case 'two':
echo get_post_meta($post_id, 'two', true);
break;
case 'three':
echo get_post_meta($post_id, 'three', true);
break;
add_action('manage_test_posts_custom_column', 'display_custom_columns', 10, 2);
Further reading
【讨论】:
很好的答案,谢谢【参考方案2】:您可以使用wp_insert_post_data
来完成所需的功能。创建或更新帖子时会触发此操作。
add_action( 'wp_insert_post_data', 'my_updated_title', 99, 1 );
function my_updated_title( $data )
// If this is just a revision, don't update title.
if ( wp_is_post_revision( $data['ID'] ) )
return;
// Set the post title to your custom field value
$data['post_title'] = get_field( 'your_acf_field', $data['ID'] );
// Return the updated post data
return $data;
【讨论】:
老兄,感谢您的宝贵时间,但您错过了我的意思。我要更改的是 BACK OFFICE 中的帖子列表。不在前面。标题设置为“自动草稿”,因为我删除了帖子编辑器中的标题字段(当您创建新帖子时),没关系,我不想要标题或任何其他基本的 worpress 字段。但如果我这样做,我会在后台得到一个只有“自动草稿”和创建日期的列表。因此,除非您单击它们进行编辑,否则无法识别任何帖子。 抱歉,让我修改一下上面的答案。 没问题的人,我可能一开始就解释错了。我应该把这段代码放在哪里? 通常这会放在functions.php
文件中。
我写的时候没能测试。如果它不起作用,我们可能只需要使用不同的钩子。以上是关于如何在仪表板帖子列表中显示自定义字段(替换标题)的主要内容,如果未能解决你的问题,请参考以下文章
在 Wordpress 中使用 ACF(高级自定义字段)显示自定义帖子标题的下拉菜单