{"id":232080,"date":"2023-01-15T15:31:00","date_gmt":"2023-01-15T12:31:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=232080"},"modified":"2023-01-15T15:32:50","modified_gmt":"2023-01-15T12:32:50","slug":"tutorial-del-complemento-de-wordpress-como-escribir-el-primer-complemento","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/es\/tutorial-del-complemento-de-wordpress-como-escribir-el-primer-complemento\/","title":{"rendered":"Tutorial del complemento de WordPress: \u00bfc\u00f3mo escribir el primer complemento?"},"content":{"rendered":"<p><a href=\"https:\/\/helloacm.com\/forum\/seo-wordpress-coding-for-the-web\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">WordPress<\/a> es tan poderoso porque puedes escribir complementos para \u00e9l. Los complementos son \u00fatiles para administrar y no se ver\u00e1n afectados si actualiza\/cambia de tema o actualiza los n\u00facleos de wordpress. Escribir un complemento para wordpress es f\u00e1cil.<\/p>\n<h3>Carpeta de complementos<\/h3>\n<p><a href=\"https:\/\/helloacm.com\/topic\/seo-wordpress-coding-for-the-web\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Los complementos de WordPress<\/a> se almacenan en la carpeta \/wp-content\/plugins. Cada complemento tiene su propia carpeta. La entrada del <a href=\"https:\/\/wordpress.mediadoma.com\/es\/la-reescritura-automatica-de-https-del-complemento-wp-rocket-falla-en-la-validacion-de-amp\/\" title=\"complemento\">complemento<\/a> debe ser el archivo php que tiene el mismo nombre que la carpeta. Por ejemplo, si nombra la carpeta muestra, debe crear un archivo muestra.php debajo de esa carpeta.<\/p>\n<h3>Metadatos del complemento<\/h3>\n<p>Para que <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> entienda su complemento, debe colocar un comentario dentro del archivo php del complemento (al principio).<\/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>Primer complemento<\/h3>\n<p>Seg\u00fan <a href=\"https:\/\/helloacm.com\/disable-spam-comments-in-wordpress-by-checking-referer\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">esta publicaci\u00f3n<\/a>, podemos crear un complemento que bloquee la mayor\u00eda de los comentarios de spam al verificar la variable <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>Guarde el archivo y actualice la p\u00e1gina del complemento, ver\u00e1 esto:<\/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 del complemento de Wordpress: \u00bfc\u00f3mo escribir el primer complemento?\"><\/a><\/p>\n<p>primer-wordpress-plugin<\/p>\n<h3>\u00bfC\u00f3mo es mejor?<\/h3>\n<p>Puede activar y desactivar f\u00e1cilmente el complemento. No necesita modificar directamente la plantilla de la funci\u00f3n (si algo sale mal, wordpress morir\u00e1). Si estropea el complemento, el complemento simplemente se desactivar\u00e1. Tambi\u00e9n puede actualizar el complemento en particular (f\u00e1cil de mantener).<\/p>\n<p>No necesita hacer nada si actualiza wordpress o los archivos de temas.<\/p>\n<p>github: <a href=\"https:\/\/github.com\/DoctorLai\/check-comment-flood\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">compruebe la inundaci\u00f3n de comentarios<\/a><\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fuente de grabaci\u00f3n:  <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 del complemento de WordPress: \u00bfc\u00f3mo escribir el primer complemento?<\/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":[892,810,716,831,800,840,861],"tags":[1172],"class_list":["post-232080","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codigo","category-complementos","category-desarrollador","category-guia-para-principiantes","category-php-2","category-tutoriales","category-wordpress-2","tag-affiai-es"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts\/232080","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/comments?post=232080"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts\/232080\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/media\/223841"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/media?parent=232080"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/categories?post=232080"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/tags?post=232080"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}