{"id":232390,"date":"2023-01-15T15:27:00","date_gmt":"2023-01-15T12:27:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=232390"},"modified":"2023-01-15T15:33:15","modified_gmt":"2023-01-15T12:33:15","slug":"tutorial-do-plugin-wordpress-como-escrever-o-primeiro-plugin","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/pt-pt\/tutorial-do-plugin-wordpress-como-escrever-o-primeiro-plugin\/","title":{"rendered":"Tutorial do plugin WordPress &#8211; Como escrever o primeiro plugin?"},"content":{"rendered":"<p><a href=\"https:\/\/helloacm.com\/forum\/seo-wordpress-coding-for-the-web\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">O WordPress<\/a> \u00e9 t\u00e3o poderoso porque voc\u00ea pode escrever plugins para ele. Os plug-ins s\u00e3o \u00fateis para gerenciar e n\u00e3o ser\u00e3o afetados se voc\u00ea atualizar\/trocar temas ou atualizar n\u00facleos do wordpress. Escrever um plugin para wordpress \u00e9 f\u00e1cil.<\/p>\n<h3>Pasta de plug-ins<\/h3>\n<p><a href=\"https:\/\/helloacm.com\/topic\/seo-wordpress-coding-for-the-web\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external\"><\/a>Os plugins do <a href=\"https:\/\/helloacm.com\/topic\/seo-wordpress-coding-for-the-web\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">WordPress s\u00e3o armazenados na pasta \/wp-content\/plugins.<\/a> Cada plugin tem sua pr\u00f3pria pasta. A entrada do <a href=\"https:\/\/wordpress.mediadoma.com\/pt-pt\/falha-na-reescrita-automatica-de-https-do-plug-in-wp-rocket-na-validacao-de-amp\/\" title=\"plugin\">plugin<\/a> deve ser o arquivo php que tem o mesmo nome da pasta. Por exemplo, se voc\u00ea nomear a pasta sample, voc\u00ea deve criar um arquivo sample.php nessa pasta.<\/p>\n<h3>Metadados do plug-in<\/h3>\n<p>Para que o <a href=\"https:\/\/helloacm.com\/multilingual-bug-fix-php-7-wordpress-4-4-compatibility-wp-rocket-2-6-14\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">WordPress<\/a> entenda seu plugin, voc\u00ea deve colocar um coment\u00e1rio dentro do arquivo php do plugin (no in\u00edcio).<\/p>\n<pre><code>&lt;php\n\/*\nPlugin Name: Plugin Name\nDescription: Plugin Description\nVersion: 0.1\nAuthor: SteakOverCooked\nAuthor URI: &lt;a class=\"vglnk\" target=\"_blank\" href=\"https:\/\/steakovercooked.com\" rel=\"nofollow\"&gt;&lt;span&gt;https&lt;\/span&gt;&lt;span&gt;:\/\/&lt;\/span&gt;&lt;span&gt;steakovercooked&lt;\/span&gt;&lt;span&gt;.&lt;\/span&gt;&lt;span&gt;com&lt;\/span&gt;&lt;\/a&gt;\nPlugin URI: &lt;a class=\"vglnk\" target=\"_blank\" href=\"https:\/\/steakovercooked.com\" rel=\"nofollow\"&gt;&lt;span&gt;https&lt;\/span&gt;&lt;span&gt;:\/\/&lt;\/span&gt;&lt;span&gt;steakovercooked&lt;\/span&gt;&lt;span&gt;.&lt;\/span&gt;&lt;span&gt;com&lt;\/span&gt;&lt;\/a&gt;\nLicense: Free\nText Domain: sample-plugin\n*\/<\/code><\/pre>\n<h3>Primeiro plug-in<\/h3>\n<p>Com base <a href=\"https:\/\/helloacm.com\/disable-spam-comments-in-wordpress-by-checking-referer\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">neste post<\/a>, podemos criar um plugin que bloqueia a maioria dos coment\u00e1rios de spam verificando a vari\u00e1vel <strong>HTTP_REFERER<\/strong>.<\/p>\n<pre><code>&lt;?php\n\/*\nPlugin Name: Check Comment Flood\nDescription: This Simple Plugin prevents most of the spam comments by checking the HTTP_REFERER variable. No complex configurations just simply activating the plugin will do the job. \nVersion: 0.1\nAuthor: SteakOverCooked\nAuthor URI: &lt;a class=\"vglnk\" target=\"_blank\" href=\"https:\/\/steakovercooked.com\" rel=\"nofollow\"&gt;&lt;span&gt;https&lt;\/span&gt;&lt;span&gt;:\/\/&lt;\/span&gt;&lt;span&gt;steakovercooked&lt;\/span&gt;&lt;span&gt;.&lt;\/span&gt;&lt;span&gt;com&lt;\/span&gt;&lt;\/a&gt;\nPlugin URI: \nLicense: Free\nText Domain: check-comment-flood \n*\/\n\u00a0\nfunction check_referrer() {\n\u00a0 \u00a0 if (!isset($_SERVER['HTTP_REFERER']) || $_SERVER['HTTP_REFERER'] == '') {\n\u00a0 \u00a0 \u00a0 \u00a0 wp_die(__('Please do not access this file directly.'));\n\u00a0 \u00a0 }\n}\nadd_action('check_comment_flood', 'check_referrer');<\/code><\/pre>\n<p>Salve o arquivo e atualize a p\u00e1gina do plugin, voc\u00ea ver\u00e1 isso:<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-157159-61e5cef3484e6.jpg\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-157159-61e5cef3484e6.jpg\" alt=\"Tutorial do plugin Wordpress - Como escrever o primeiro plugin?\"><\/a><\/p>\n<p>primeiro plugin do wordpress<\/p>\n<h3>Como \u00e9 melhor?<\/h3>\n<p>Voc\u00ea pode facilmente ativar e desativar o plug-in. Voc\u00ea n\u00e3o precisa modificar diretamente o template da fun\u00e7\u00e3o (se algo der errado, o wordpress ir\u00e1 morrer). Se voc\u00ea estragar o plugin, o plugin ser\u00e1 simplesmente desligado. Voc\u00ea tamb\u00e9m pode atualizar o plugin espec\u00edfico (f\u00e1cil de manter).<\/p>\n<p>Voc\u00ea n\u00e3o precisa fazer nada se atualizar o wordpress ou os arquivos do tema.<\/p>\n<p>github: <a href=\"https:\/\/github.com\/DoctorLai\/check-comment-flood\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">verifique a inunda\u00e7\u00e3o de coment\u00e1rios<\/a><\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte de grava\u00e7\u00e3o:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/helloacm.com\" class=\"external external_icon\">helloacm.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Tutorial do plugin WordPress \u2013 Como escrever o primeiro plugin?<\/p>\n","protected":false},"author":1,"featured_media":223841,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[898,722,837,806,816,846,867],"tags":[1170],"class_list":["post-232390","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codigo-2","category-desenvolvedor","category-guia-para-iniciantes","category-php-8","category-plug-ins","category-tutoriais","category-wordpress-8","tag-affiai-pt-pt"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts\/232390","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/comments?post=232390"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts\/232390\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media\/223841"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media?parent=232390"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/categories?post=232390"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/tags?post=232390"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}