{"id":14365,"date":"2023-10-26T08:54:00","date_gmt":"2023-10-26T11:54:00","guid":{"rendered":"https:\/\/defluence.com.br\/insights\/?p=14365"},"modified":"2023-10-22T12:55:19","modified_gmt":"2023-10-22T15:55:19","slug":"como-criar-taxonomias-personalizadas-para-sites-de-construtoras-e-incorporadoras-no-wordpress","status":"publish","type":"post","link":"https:\/\/defluence.com.br\/insights\/desenvolvimento-web\/wordpress\/como-criar-taxonomias-personalizadas-para-sites-de-construtoras-e-incorporadoras-no-wordpress\/","title":{"rendered":"Como criar taxonomias personalizadas para sites de construtoras e incorporadoras no WordPress"},"content":{"rendered":"\n<p>Hoje, abordaremos um tema que \u00e9 como o alicerce de um edif\u00edcio em constru\u00e7\u00e3o \u2014 importante e fundamental. Falamos sobre como criar taxonomias personalizadas no WordPress para sites de construtoras e incorporadoras.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-introducao\">Introdu\u00e7\u00e3o<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-o-que-e-uma-taxonomia-personalizada\">O que \u00e9 uma taxonomia personalizada?<\/h3>\n\n\n\n<p>A palavra &#8220;taxonomia&#8221; pode lembrar voc\u00ea de aulas de biologia, onde aprendeu a categorizar animais e plantas. No mundo WordPress, \u00e9 quase a mesma coisa. Taxonomias s\u00e3o uma forma de agrupar conte\u00fados de maneira ordenada.<\/p>\n\n\n\n<p><strong>Exemplo:<\/strong> Voc\u00ea tem um site de uma construtora e quer agrupar os projetos de acordo com as cidades onde est\u00e3o localizados. Uma taxonomia personalizada chamada &#8220;Cidades&#8221; seria a solu\u00e7\u00e3o perfeita.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-por-que-personalizar\">Por que personalizar<\/h3>\n\n\n\n<p>Bem, o WordPress j\u00e1 vem com taxonomias prontas, como categorias e tags. &#8220;Ent\u00e3o por que reinventar a roda?&#8221;, voc\u00ea deve estar se perguntando. Calma, temos bons motivos.<\/p>\n\n\n\n<p><strong>O motivo \u00e9 simples<\/strong>: Personaliza\u00e7\u00e3o permite maior controle. Isso \u00e9 como ter um guindaste em um canteiro de obras; voc\u00ea pode levantar o que quiser, para onde quiser e quando quiser.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-como-criar-as-taxonomias-personalizadas\">Como criar as taxonomias personalizadas<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-1-abrir-o-arquivo-functions-php\">1. Abrir o arquivo functions.php<\/h3>\n\n\n\n<p>V\u00e1 at\u00e9 o painel de controle do seu tema WordPress e localize o arquivo <code>functions.php<\/code>. Abra-o, ele \u00e9 como o projeto arquitet\u00f4nico do seu site.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-2-colocar-o-codigo-para-registrar-a-taxonomia\">2. Colocar o c\u00f3digo para registrar a taxonomia<\/h3>\n\n\n\n<p>Agora, a parte que realmente interessa: o c\u00f3digo. No exemplo que estamos usando, o c\u00f3digo n\u00e3o s\u00f3 cria duas taxonomias (Cidades e Disponibilidade), mas tamb\u00e9m um tipo de post personalizado chamado &#8220;Empreendimentos&#8221;. <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ Cria\u00e7\u00e3o do Custom Post Type: Empreendimentos\r\nfunction create_empreendimentos_post_type() {\r\n    $labels = array(\r\n        'name'                  => _x('Empreendimentos', 'Post Type General Name'),\r\n        'singular_name'         => _x('Empreendimento', 'Post Type Singular Name'),\r\n        'menu_name'             => __('Empreendimentos'),\r\n        'name_admin_bar'        => __('Empreendimento'),\r\n        'archives'              => __('Arquivo de empreendimentos'),\r\n        'attributes'            => __('Atributos do empreendimento'),\r\n        'parent_item_colon'     => __('Empreendimento pai:'),\r\n        'all_items'             => __('Todos os empreendimentos'),\r\n        'add_new_item'          => __('Adicionar novo empreendimento'),\r\n        'add_new'               => __('Adicionar novo'),\r\n        'new_item'              => __('Novo empreendimento'),\r\n        'edit_item'             => __('Editar empreendimento'),\r\n        'update_item'           => __('Atualizar empreendimento'),\r\n        'view_item'             => __('Ver empreendimento'),\r\n        'view_items'            => __('Ver empreendimentos'),\r\n        'search_items'          => __('Pesquisar empreendimentos'),\r\n        'not_found'             => __('N\u00e3o encontrado'),\r\n        'not_found_in_trash'    => __('N\u00e3o encontrado na lixeira'),\r\n        'featured_image'        => __('Imagem destaque'),\r\n        'set_featured_image'    => __('Definir imagem destaque'),\r\n        'remove_featured_image' => __('Remover imagem destaque'),\r\n        'use_featured_image'    => __('Usar como imagem destaque'),\r\n        'insert_into_item'      => __('Inserir no empreendimento'),\r\n        'uploaded_to_this_item' => __('Enviado para este empreendimento'),\r\n        'items_list'            => __('Lista de empreendimentos'),\r\n        'items_list_navigation' => __('Navega\u00e7\u00e3o de lista de empreendimentos'),\r\n        'filter_items_list'     => __('Filtrar lista de empreendimentos'),\r\n    );\r\n\r\n    $args = array(\r\n        'label'                 => __('Empreendimento'),\r\n        'description'           => __('Descri\u00e7\u00e3o do Empreendimento'),\r\n        'labels'                => $labels,\r\n        'supports'              => array('title', 'editor', 'thumbnail', 'revisions', 'author'),\r\n        'hierarchical'          => false,\r\n        'public'                => true,\r\n        'show_ui'               => true,\r\n        'show_in_menu'          => true,\r\n        'menu_position'         => 5,\r\n        'show_in_admin_bar'     => true,\r\n        'show_in_nav_menus'     => true,\r\n        'can_export'            => true,\r\n        'has_archive'           => true,\r\n        'exclude_from_search'   => false,\r\n        'publicly_queryable'    => true,\r\n        'show_in_rest'          => true, \/\/ Isto permite o suporte ao Gutenberg.\r\n        'capability_type'       => 'post',\r\n    );\r\n\r\n    register_post_type('empreendimentos', $args);\r\n}\r\n\r\nadd_action('init', 'create_empreendimentos_post_type', 0);\r\n\r\n\/\/ Taxonomia personalizada: Cidades\r\nfunction create_cidades_taxonomy() {\r\n    $labels = array(\r\n        'name' => _x('Cidades', 'taxonomy general name'),\r\n        'singular_name' => _x('Cidade', 'taxonomy singular name'),\r\n        'search_items' => __('Pesquisar cidades'),\r\n        'all_items' => __('Todas as cidades'),\r\n        'parent_item' => __('Cidade pai'),\r\n        'parent_item_colon' => __('Cidade pai:'),\r\n        'edit_item' => __('Editar cidade'),\r\n        'update_item' => __('Atualizar cidade'),\r\n        'add_new_item' => __('Adicionar nova cidade'),\r\n        'new_item_name' => __('Nome da nova cidade'),\r\n        'menu_name' => __('Cidades'),\r\n    );\r\n\r\n    $args = array(\r\n        'hierarchical' => true,\r\n        'labels' => $labels,\r\n        'show_ui' => true,\r\n        'show_admin_column' => true,\r\n        'query_var' => true,\r\n        'show_in_rest' => true, \/\/ Isto permite o suporte ao Gutenberg.\r\n        'rewrite' => array('slug' => 'cidade'),\r\n    );\r\n\r\n    register_taxonomy('cidades', array('empreendimentos'), $args);\r\n}\r\n\r\nadd_action('init', 'create_cidades_taxonomy');\r\n\r\n\/\/ Taxonomia personalizada: Disponibilidade\r\nfunction create_disponibilidade_taxonomy() {\r\n    $labels = array(\r\n        'name' => _x('Disponibilidades', 'taxonomy general name'),\r\n        'singular_name' => _x('Disponibilidade', 'taxonomy singular name'),\r\n        'search_items' => __('Pesquisar disponibilidades'),\r\n        'popular_items' => __('Disponibilidades populares'),\r\n        'all_items' => __('Todas as disponibilidades'),\r\n        'edit_item' => __('Editar disponibilidade'),\r\n        'update_item' => __('Atualizar disponibilidade'),\r\n        'add_new_item' => __('Adicionar nova disponibilidade'),\r\n        'new_item_name' => __('Nome da nova disponibilidade'),\r\n        'separate_items_with_commas' => __('Separe disponibilidades com v\u00edrgulas'),\r\n        'add_or_remove_items' => __('Adicionar ou remover disponibilidades'),\r\n        'choose_from_most_used' => __('Escolha entre as disponibilidades mais usadas'),\r\n        'not_found' => __('Nenhuma disponibilidade encontrada'),\r\n        'menu_name' => __('Disponibilidades'),\r\n    );\r\n\r\n    $args = array(\r\n        'hierarchical' => false,\r\n        'labels' => $labels,\r\n        'show_ui' => true,\r\n        'show_admin_column' => true,\r\n        'query_var' => true,\r\n        'show_in_rest' => true, \/\/ Isto permite o suporte ao Gutenberg.\r\n        'rewrite' => array('slug' => 'disponibilidade'),\r\n    );\r\n\r\n    register_taxonomy('disponibilidade', array('empreendimentos'), $args);\r\n}\r\n\r\nadd_action('init', 'create_disponibilidade_taxonomy');<\/code><\/pre>\n\n\n\n<p>Perceba que, em ambos os casos, estamos usando a fun\u00e7\u00e3o <code>add_action('init', 'nome_da_funcao');<\/code> para registrar nossas taxonomias e o tipo de post. Esta \u00e9 a &#8220;pedra fundamental&#8221; de todo o processo, tornando tudo isso poss\u00edvel no WordPress.<\/p>\n\n\n\n<p class=\"wp-block-dica-dica dica\"><strong>Nota<\/strong>: A palavra <code>'empreendimentos'<\/code> no c\u00f3digo faz uma ponte entre o tipo de post e as taxonomias, indicando que estas \u00faltimas se aplicam ao tipo de post <code>'empreendimentos'<\/code>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-3-salvar-e-testar\">3. Salvar e testar<\/h3>\n\n\n\n<p>Depois de adicionar o c\u00f3digo, salve o arquivo <code>functions.php<\/code>. N\u00e3o esque\u00e7a de testar para garantir que tudo est\u00e1 funcionando como deveria. Imagine se um engenheiro n\u00e3o testasse a resist\u00eancia de um pilar. Nada bom, concorda?<\/p>\n\n\n\n<p class=\"wp-block-alerta-alerta alerta\">N\u00e3o quero ser o portador de m\u00e1s not\u00edcias, mas <strong>aten\u00e7\u00e3o<\/strong>: erros de sintaxe podem quebrar seu site. Ent\u00e3o, sempre fa\u00e7a backup antes de fazer altera\u00e7\u00f5es significativas. \u00c9 como ter um plano B em um projeto de constru\u00e7\u00e3o; \u00e9 sempre bom ter um.<\/p>\n\n\n\n<p>Agora voc\u00ea j\u00e1 sabe como criar taxonomias personalizadas em WordPress, mais especificamente para sites de construtoras e incorporadoras. N\u00e3o \u00e9 t\u00e3o complicado quanto parece, n\u00e3o \u00e9 mesmo? Ou, para manter a analogia com o mundo das constru\u00e7\u00f5es, n\u00e3o \u00e9 como levantar um pr\u00e9dio de 50 andares.<\/p>\n\n\n\n<p>Ent\u00e3o, coloque o capacete, suba no guindaste e m\u00e3os \u00e0 obra. Afinal, o seu projeto WordPress n\u00e3o vai se construir sozinho, vai?<\/p>\n\n\n\n<p>Espero que este guia tenha sido \u00fatil. E ent\u00e3o, quais ser\u00e3o suas pr\u00f3ximas constru\u00e7\u00f5es no mundo digital? Estou ansioso para saber!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Entender bem o c\u00f3digo \u00e9 crucial; pense nele como o projeto arquitet\u00f4nico para o pr\u00e9dio que voc\u00ea est\u00e1 prestes a construir.<\/p>\n","protected":false},"author":1,"featured_media":14368,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[45],"tags":[46],"_links":{"self":[{"href":"https:\/\/defluence.com.br\/insights\/wp-json\/wp\/v2\/posts\/14365"}],"collection":[{"href":"https:\/\/defluence.com.br\/insights\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/defluence.com.br\/insights\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/defluence.com.br\/insights\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/defluence.com.br\/insights\/wp-json\/wp\/v2\/comments?post=14365"}],"version-history":[{"count":0,"href":"https:\/\/defluence.com.br\/insights\/wp-json\/wp\/v2\/posts\/14365\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/defluence.com.br\/insights\/wp-json\/wp\/v2\/media\/14368"}],"wp:attachment":[{"href":"https:\/\/defluence.com.br\/insights\/wp-json\/wp\/v2\/media?parent=14365"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/defluence.com.br\/insights\/wp-json\/wp\/v2\/categories?post=14365"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/defluence.com.br\/insights\/wp-json\/wp\/v2\/tags?post=14365"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}