Parte 1<\/a>. Precisamos alterar o c\u00f3digo de cria\u00e7\u00e3o da configura\u00e7\u00e3o e do campo para que eles sejam exibidos no lugar correto.<\/p>\n\n\n\nO c\u00f3digo final fica assim:<\/p>\n\n\n\n
function minhas_configuracoes() {\n\tregister_setting(\n\t\t'grupo_minhas_configuracoes',\n\t\t'chave_api_minha_integracao',\n\t\tarray(\n\t\t\t'sanitize_callback' => function( $value ) {\n\t\t\t\tif ( ! preg_match( '\/API-[0-9]{4}-[A-Z]{3}\/', $value ) ) {\n\t\t\t\t\tadd_settings_error(\n\t\t\t\t\t\t'chave_api_minha_integracao',\n\t\t\t\t\t\tesc_attr( 'chave_api_minha_integracao_erro' ),\n\t\t\t\t\t\t'Chave API no formato errado.',\n\t\t\t\t\t\t'error'\n\t\t\t\t\t);\n\t\t\t\t\treturn get_option( 'chave_api_minha_integracao' );\n\t\t\t\t}\n\t\t\t\treturn $value;\n\t\t\t},\n\t\t)\n\t);\n\n\tadd_settings_section(\n\t\t'minha_secao',\n\t\t'Minha se\u00e7\u00e3o',\n\t\tfunction( $args ) {\n\t\t\techo '<p>Coloque aqui a sua chave API.<\/p>';\n\t\t},\n\t\t'grupo_minhas_configuracoes'\n\t);\n\n\tadd_settings_field(\n\t\t'chave_api_minha_integracao',\n\t\t'Chave API da minha integra\u00e7\u00e3o',\n\t\tfunction( $args ) {\n\t\t\t$options = get_option( 'chave_api_minha_integracao' );\n\t\t\t?>\n\t\t\t<input\n\t\t\t\ttype=\"text\"\n\t\t\t\tid=\"<?php echo esc_attr( $args['label_for'] ); ?>\"\n\t\t\t\tname=\"chave_api_minha_integracao\"\n\t\t\t\tvalue=\"<?php echo esc_attr( $options ); ?>\">\n\t\t\t<?php\n\t\t},\n\t\t'grupo_minhas_configuracoes',\n\t\t'minha_secao',\n\t\t[\n\t\t\t'label_for' => 'chave_api_minha_integracao_html_id',\n\t\t\t'class' => 'classe-html-tr',\n\t\t]\n\t);\n}\nadd_action( 'admin_init', 'minhas_configuracoes' );\n\nfunction minhas_configuracoes_menu() {\n\tadd_options_page(\n\t\t'Minhas configura\u00e7\u00f5es',\n\t\t'Minhas config.',\n\t\t'manage_options',\n\t\t'minhas-configuracoes',\n\t\t'minhas_configuracoes_html'\n\t);\n}\nadd_action( 'admin_menu', 'minhas_configuracoes_menu' );\n\nfunction minhas_configuracoes_html() {\n\t?>\n\t<div class=\"wrap\">\n\t\t<h1><?php echo esc_html( get_admin_page_title() ); ?><\/h1>\n\t\t<form action=\"options.php\" method=\"post\">\n\t\t\t<?php\n\t\t\tsettings_fields( 'grupo_minhas_configuracoes' );\n\t\t\tdo_settings_sections( 'grupo_minhas_configuracoes' );\n\t\t\tsubmit_button();\n\t\t\t?>\n\t\t<\/form>\n\t<\/div>\n\t<?php\n}<\/code><\/pre>\n\n\n\nB\u00f4nus: Como adicinar um link “Configura\u00e7\u00f5es” na lista de plugins<\/h2>\n\n\n\n Sabem aquele link de Configura\u00e7\u00f5es<\/em> que a gente v\u00ea em alguns plugins?<\/p>\n\n\n\n <\/figure><\/div>\n\n\n\nEsses links s\u00e3o criados pelos filtros plugin_action_links<\/code> e plugin_action_links_{$plugin_file}<\/code>. Para simplificar, vamos usar o \u00faltimo:<\/p>\n\n\n\nfunction minhas_configuracoes_link_lista_plugins( $links ) {\n\t$settings_link = '<a href=\"options-general.php?page=minhas-configuracoes\">Configura\u00e7\u00f5es<\/a>';\n\tarray_unshift( $links, $settings_link );\n\treturn $links;\n}\n$plugin = plugin_basename( __FILE__ );\nadd_filter( \"plugin_action_links_$plugin\", 'minhas_configuracoes_link_lista_plugins' );<\/code><\/pre>\n\n\n\n \n\n\n\nSe voc\u1ebd gostou desta s\u00e9rie n\u00e3o esque\u00e7a de compartilhar com os seus amigos, assinar o canal e a newsletter<\/em> aqui embaixo!<\/p>\n","protected":false},"excerpt":{"rendered":"Nesta parte da s\u00e9rie sobre telas de configura\u00e7\u00e3o para plugins do WordPress veja como criar sua pr\u00f3pria p\u00e1gina no Painel<\/p>\n","protected":false},"author":1,"featured_media":1857,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":"","footnotes":""},"categories":[30],"tags":[],"yoast_head":"\n
Como criar uma tela de configura\u00e7\u00e3o para o seu plugin WordPress com a Settings API \u2014 Parte 2 | Felipe Elia<\/title>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\t \n\t \n\t \n \n \n \n \n \n\t \n\t \n\t \n