{"id":5,"date":"2016-05-23T14:40:50","date_gmt":"2016-05-23T17:40:50","guid":{"rendered":"http:\/\/hackerzone.com.br\/blog\/?p=5"},"modified":"2016-05-23T20:04:24","modified_gmt":"2016-05-23T23:04:24","slug":"colunas-personalizadas-com-wordpress","status":"publish","type":"post","link":"http:\/\/hackerzone.com.br\/blog\/colunas-personalizadas-com-wordpress\/","title":{"rendered":"Colunas personalizadas com WordPress"},"content":{"rendered":"<h3>Introdu\u00e7\u00e3o<\/h3>\n<p>O desejo de boa parte dos iniciantes \u00e9 personalizar o painel administrativo do WordPress criando recursos espec\u00edficos quase sempre requisitado por clientes. Corriqueiramente utilizo plugins para intervir em minhas aplica\u00e7\u00f5es, pois se o cliente estiver utilizando temas atualiz\u00e1veis voc\u00ea poder\u00e1 perder todas as modifica\u00e7\u00f5es que realizar quando o mesmo atualizar, criando um plugin voc\u00ea deixa a aplica\u00e7\u00e3o totalmente independente. Para realizar esta opera\u00e7\u00e3o aconselho que j\u00e1 esteja familiarizado a trabalhar com classes, m\u00e9todos e os m\u00e9todos a seguir:<\/p>\n<h3>Requisitos M\u00ednimos<\/h3>\n<ul>\n<li>register_post_type()<\/li>\n<li>register_taxonomy()<\/li>\n<li>add_meta_box()<\/li>\n<li><\/li>\n<\/ul>\n<h3>Alterando Cabe\u00e7alho das Colunas<\/h3>\n<p>A interven\u00e7\u00e3o necess\u00e1ria ser\u00e1 <strong><a href=\"https:\/\/codex.wordpress.org\/Plugin_API\/Filter_Reference\/manage_edit-post_type_columns\" title=\"Plugin API\/Filter Reference\/manage edit-post type columns\">manage_edit-{custom_post}_columns<\/a><\/strong>, onde {custom_post} ser\u00e1 o nome do post personalizado que voc\u00ea criou, caso voc\u00ea esteja aplicando a todos os pots de seu WordPress basta declarar <strong><a title=\"Plugin API\/Filter Reference\/manage edit-post type columns\" href=\"https:\/\/codex.wordpress.org\/Plugin_API\/Filter_Reference\/manage_edit-post_type_columns\">manage_edit-post_columns<\/a><\/strong>, mas provavelmente voc\u00ea deseja aplicar apenas a um post personalizado que voc\u00ea tenha criado o que \u00e9 o mais indicado.<\/p>\n<p>Chamando a interven\u00e7\u00e3o:<\/p>\n<pre class=\"brush: php; title: ; notranslate\" title=\"\">\r\nclass NewCustomClass {      \r\n\r\n    public function __construct() {\r\n        add_filter('manage_edit-{$custom_post}_columns', array($this, 'add_new_{custom_method}_columns'));\r\n    }\r\n\r\n    \/\/Demais m\u00e9todos como register_post_type\r\n\r\n    public function add_new_{custom_method}_columns($columns){\r\n        \/\/$columns N\u00e3o utilizaremos as colunas j\u00e1 existentes, todas as colunas ser\u00e3o personalizadas\r\n        $new_columns['cb'] = '&lt;input type=&quot;checkbox&quot; \/&gt;'; \/\/Caixa de sele\u00e7\u00e3o n\u00e3o pode faltar.\r\n        $new_columns['custom_nome'] =  __('Name', 'translate-plugin'); \/\/String que aparecer\u00e1 no t\u00edtulo da coluna\r\n        $new_columns['custom_cpf'] =  __('CPF', 'translate-plugin');\r\n       \r\n        return $new_columns; \/\/retornamos as colunas criadas.\r\n    }\r\n\r\n}\r\n<\/pre>\n<p>Com este m\u00e9todo j\u00e1 \u00e9 poss\u00edvel altera o cabe\u00e7alho de nossas colunas.<\/p>\n<h3>Alterando conte\u00fado das colunas:<\/h3>\n<p>Agora vamos utilizar o m\u00e9todo manage_{$post_type}_posts_custom_column<\/p>\n<pre class=\"brush: php; title: ; notranslate\" title=\"\">\r\nclass NewCustomClass {      \r\n\r\n    public function __construct() {\r\n        add_filter('manage_edit-{custom_post}_columns', array($this, 'add_new_{custom_method}_columns'));\r\n        add_action('manage_certificate_posts_custom_column', array($this, 'add_new_certificate_columns_value'), 10, 2);\r\n    }\r\n\r\n    \/\/Demais m\u00e9todos como register_post_type\r\n\r\n    public function add_new_{custom_method}_columns($columns){\r\n        \/\/$columns N\u00e3o utilizaremos as colunas j\u00e1 existentes, todas as colunas ser\u00e3o personalizadas\r\n        $new_columns['cb'] = '&lt;input type=&quot;checkbox&quot; \/&gt;'; \/\/Caixa de sele\u00e7\u00e3o n\u00e3o pode faltar.\r\n        $new_columns['custom_nome'] =  __('Name', 'translate-plugin'); \/\/String que aparecer\u00e1 no t\u00edtulo da coluna\r\n        $new_columns['custom_cpf'] =  __('CPF', 'translate-plugin');\r\n       \r\n        return $new_columns; \/\/retornamos as colunas criadas.\r\n    }\r\n\r\n}\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Introdu\u00e7\u00e3o O desejo de boa parte dos iniciantes \u00e9 personalizar o painel administrativo do WordPress criando recursos espec\u00edficos quase sempre requisitado por clientes. Corriqueiramente utilizo plugins para intervir em minhas aplica\u00e7\u00f5es, pois se o cliente estiver utilizando temas atualiz\u00e1veis voc\u00ea poder\u00e1 perder todas as modifica\u00e7\u00f5es que realizar quando o mesmo atualizar, criando um plugin voc\u00ea [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-5","post","type-post","status-publish","format-standard","hentry","category-sem-categoria","cat-1-id"],"_links":{"self":[{"href":"http:\/\/hackerzone.com.br\/blog\/wp-json\/wp\/v2\/posts\/5","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/hackerzone.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/hackerzone.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/hackerzone.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/hackerzone.com.br\/blog\/wp-json\/wp\/v2\/comments?post=5"}],"version-history":[{"count":4,"href":"http:\/\/hackerzone.com.br\/blog\/wp-json\/wp\/v2\/posts\/5\/revisions"}],"predecessor-version":[{"id":9,"href":"http:\/\/hackerzone.com.br\/blog\/wp-json\/wp\/v2\/posts\/5\/revisions\/9"}],"wp:attachment":[{"href":"http:\/\/hackerzone.com.br\/blog\/wp-json\/wp\/v2\/media?parent=5"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/hackerzone.com.br\/blog\/wp-json\/wp\/v2\/categories?post=5"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/hackerzone.com.br\/blog\/wp-json\/wp\/v2\/tags?post=5"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}