首页 > 解决方案 > 如何在仪表板帖子列表中显示自定义字段(替换标题)

问题描述

我正在使用 WordPress,我确实创建了一个包含多个自定义字段的自定义帖子类型(使用 ACV、高级自定义字段)我隐藏了所有基本的 WordPress 字段,如标题、内容编辑器缩略图等,所以我只留下我的自定义字段用于创建新职位。

由于在创建帖子时没有填写标题,我得到了一个帖子列表,每个标题都设置为“自动草稿”,这显然是我不想要的。

我的问题很简单:

是否可以,如果可以,如何用仪表板帖子列表中的自定义字段之一替换标题。

我到处搜索,但找不到答案。

对不起我的英语,这不是我的母语,我希望你明白我基本上想要做什么。

感谢您抽出宝贵时间阅读我的问题。祝你有美好的一天

标签: wordpressadvanced-custom-fieldscustom-post-type

解决方案


我自己设法找到了解决方案。

假设您有一个名为“test”的自定义帖子类型,其中包含 3 个名为onetwo的自定义字段three。并且您想删除标题和日期,在帖子列表中显示onetwo和的内容。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);

进一步阅读


推荐阅读