【问题标题】:How to add ACF image field to WP admin table column of custom taxonomy如何将 ACF 图像字段添加到自定义分类的 WP 管理表列
【发布时间】:2019-09-28 10:56:00
【问题描述】:

我为自定义分类法“linen_category”创建了一个 ACF 图像字段“cat_thumb”。图像字段设置为返回数组值。

我有一些下面的代码可以放在function.php文件中,但它不起作用。术语缩略图图像不会显示在管理列中。

/*
 * Add ACF thumbnail columns to custom taxonomies
 */
function add_thumbnail_columns($columns) {
    $columns['linen_thumbnail'] = __('Thumbnail');
    return $columns;
}
add_filter('manage_edit-linen_category_columns', 'add_thumbnail_columns');

/*
 * Output ACF thumbnail columns
 */
function thumbnail_columns_content($column_name) {
    if ($column_name == 'cat_thumb') {
        $term = get_queried_object();
        $linen_thumbnail_var = get_field('cat_thumb', $term);
        echo '<img src="'.$linen_thumbnail_var['url'].'" width="60" />';
    }
}
add_filter('manage_linen_category_custom_column' , 'thumbnail_columns_content' , 10 , 1);

我已经为此工作了一个多星期,但仍然不知道该怎么做。请帮帮我,谢谢。

【问题讨论】:

  • 我会在下面回答我的问题。

标签: wordpress advanced-custom-fields


【解决方案1】:

看了很多文章和文档,终于想通了,得到了最终的解决方案。

这是我的代码

/**
 * Add ACF thumbnail columns to Linen Category custom taxonomy
 */
function add_thumbnail_columns($columns) {
    $columns['linen_thumbnail'] = __('Thumbnail');
    // Enable the single line of code below if you want the Thumbnail at the end.
    //return $columns;

    // Code below will make the Thumbnail in the front.
    // Code start
    $new = array();
    foreach($columns as $key => $value) {
        if ($key=='name') // Put the Thumbnail column before the Name column
            $new['linen_thumbnail'] = 'Thumbnail';
        $new[$key] = $value;
    }
    return $new;
    // Code end
}
add_filter('manage_edit-linen_category_columns', 'add_thumbnail_columns');

/**
 * Output ACF thumbnail content in Linen Category custom taxonomy columns
 */
function thumbnail_columns_content($content, $column_name, $term_id) {
    if ('linen_thumbnail' == $column_name) {
        $term = get_term($term_id);
        $linen_thumbnail_var = get_field('cat_thumb', $term);
        $content = '<img src="'.$linen_thumbnail_var['url'].'" width="60" />';
        }
    return $content;
}
add_filter('manage_linen_category_custom_column' , 'thumbnail_columns_content' , 10 , 3);

参考:

【讨论】:

    【解决方案2】:

    尝试改变:

    $linen_thumbnail_var = get_field('cat_thumb', $term);
    

    $linen_thumbnail_var = get_field('cat_thumb', $term->taxonomy . '_' . $term->term_id);
    

    这会对你有所帮助。

    【讨论】:

    • 不幸的是它不起作用。但是我在阅读了很多文章和文档后,已经弄清楚了问题并进行了测试,得到了最终的解决方案。
    • 似乎 get_queried_object() 仅适用于存档页面?无论如何 get_term($term_id) 有效。
    猜你喜欢
    • 1970-01-01
    • 2020-06-02
    • 2019-06-27
    • 2018-11-24
    • 2022-11-07
    • 1970-01-01
    • 2022-01-25
    • 2016-12-10
    • 1970-01-01
    相关资源
    最近更新 更多