【问题标题】:WordPress Custom Column ContentWordPress 自定义列内容
【发布时间】:2020-04-14 13:53:59
【问题描述】:

我有一个视频的自定义帖子类型。在管理员编辑屏幕上,我添加了一个名为 Description 的自定义列来显示自定义字段的值。

Screnshoot of Current Post List Columns

我实际上想在“帖子标题链接”和“快速操作链接”下方的“标题”列中显示“描述”值。但是,我似乎无法像预期的那样与 Title 列进行交互。我可以对 Title 列重新排序,但不能在其中打印内容。

// Add Custom Columns to Videos list 
function modify_videos_columns($columns){

    unset($columns['date']);
    unset($columns['author']);
    unset($columns['title']);

    $columns['thumbnail'] = __('Thumbnail');
    $columns['title'] = __('Title');
    $columns['description'] = __('Description');
    $columns['datetime'] = __('Date & Time');
    return $columns;
}
add_filter('manage_video_posts_columns', 'modify_videos_columns', 5);

function display_video_custom_columns($column_name, $post_id){
  switch($column_name){

    case "thumbnail":
        print "<a href='" . get_edit_post_link($post_id) . "'><img src='" . get_post_meta($post_id, "video_thumbnail_medium", true) . "' width='150px' /></a>";

    break; 
    case "title":
        print "<p>" . get_field("video_description", $post_id) . "</p>";
    break;  
    case "description":
        print get_field("video_description", $post_id);
    break;
    case 'datetime':
        print date_format(date_create(get_field("video_datetime")), "d/m/y") . ", " . date_format(date_create(get_field("video_datetime")), "g:ia");
        break;
  }
}
add_action('manage_video_posts_custom_column', 'display_video_custom_columns', 5, 2);

谁能帮我理解我做错了什么?

【问题讨论】:

    标签: php wordpress


    【解决方案1】:

    我找到了一种不同的方法,它实现了我的目标。

    我没有使用默认列名“title”(这似乎会导致意外行为),而是创建了一个名为“custom_title”的列,并在其中填充了标题链接和描述。

    然后我使用“list_table_primary_column”过滤器将“cstom_title”列设置为默认列,这会将快速编辑链接添加到列中的每个条目中。

    // Add Custom Columns to Videos list 
    function modify_videos_columns($columns){
    
        unset($columns['date']);
        unset($columns['author']);
        unset($columns['title']);
    
        $columns['thumbnail'] = __('Thumbnail');
        $columns['custom_title'] = __('Title');
        $columns['datetime'] = __('Date & Time');
        return $columns;
    }
    add_filter('manage_video_posts_columns', 'modify_videos_columns', 5);
    
    function display_video_custom_columns($column_name, $post_id){
      switch($column_name){
    
        case "thumbnail":
            print "<a href='" . get_edit_post_link($post_id) . "'><img src='" . get_post_meta($post_id, "video_thumbnail_medium", true) . "' width='150px' /></a>";
    
        break; 
        case "custom_title":
            print "<strong><a href='" . get_edit_post_link($post_id) . "'>" . get_the_title($post_id) . "</a></strong>";
            print "<p>" . get_field("video_description", $post_id) . "</p>";
        break;  
        case 'datetime':
            print date_format(date_create(get_field("video_datetime")), "d/m/y") . ", " . date_format(date_create(get_field("video_datetime")), "g:ia");
            break;
      }
    }
    add_action('manage_video_posts_custom_column', 'display_video_custom_columns', 5, 2);
    
    function list_table_primary_column( $default, $screen ) {
        if ( 'edit-video' === $screen ) {
            $default = 'custom_title'; // Set default column
        }
        return $default;
    }
    add_filter( 'list_table_primary_column', 'list_table_primary_column', 10, 2 );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-04
      • 2012-08-01
      • 2015-10-01
      • 2016-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-24
      相关资源
      最近更新 更多