Colunas personalizadas com WordPress

Introdução

O desejo de boa parte dos iniciantes é personalizar o painel administrativo do WordPress criando recursos específicos quase sempre requisitado por clientes. Corriqueiramente utilizo plugins para intervir em minhas aplicações, pois se o cliente estiver utilizando temas atualizáveis você poderá perder todas as modificações que realizar quando o mesmo atualizar, criando um plugin você deixa a aplicação totalmente independente. Para realizar esta operação aconselho que já esteja familiarizado a trabalhar com classes, métodos e os métodos a seguir:

Requisitos Mínimos

  • register_post_type()
  • register_taxonomy()
  • add_meta_box()

Alterando Cabeçalho das Colunas

A intervenção necessária será manage_edit-{custom_post}_columns, onde {custom_post} será o nome do post personalizado que você criou, caso você esteja aplicando a todos os pots de seu WordPress basta declarar manage_edit-post_columns, mas provavelmente você deseja aplicar apenas a um post personalizado que você tenha criado o que é o mais indicado.

Chamando a intervenção:

class NewCustomClass {      

    public function __construct() {
        add_filter('manage_edit-{$custom_post}_columns', array($this, 'add_new_{custom_method}_columns'));
    }

    //Demais métodos como register_post_type

    public function add_new_{custom_method}_columns($columns){
        //$columns Não utilizaremos as colunas já existentes, todas as colunas serão personalizadas
        $new_columns['cb'] = '<input type="checkbox" />'; //Caixa de seleção não pode faltar.
        $new_columns['custom_nome'] =  __('Name', 'translate-plugin'); //String que aparecerá no título da coluna
        $new_columns['custom_cpf'] =  __('CPF', 'translate-plugin');
       
        return $new_columns; //retornamos as colunas criadas.
    }

}

Com este método já é possível altera o cabeçalho de nossas colunas.

Alterando conteúdo das colunas:

Agora vamos utilizar o método manage_{$post_type}_posts_custom_column

class NewCustomClass {      

    public function __construct() {
        add_filter('manage_edit-{custom_post}_columns', array($this, 'add_new_{custom_method}_columns'));
        add_action('manage_certificate_posts_custom_column', array($this, 'add_new_certificate_columns_value'), 10, 2);
    }

    //Demais métodos como register_post_type

    public function add_new_{custom_method}_columns($columns){
        //$columns Não utilizaremos as colunas já existentes, todas as colunas serão personalizadas
        $new_columns['cb'] = '<input type="checkbox" />'; //Caixa de seleção não pode faltar.
        $new_columns['custom_nome'] =  __('Name', 'translate-plugin'); //String que aparecerá no título da coluna
        $new_columns['custom_cpf'] =  __('CPF', 'translate-plugin');
       
        return $new_columns; //retornamos as colunas criadas.
    }

}

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *