{"id":231090,"date":"2022-12-21T12:59:00","date_gmt":"2022-12-21T09:59:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=231090"},"modified":"2022-12-07T10:28:32","modified_gmt":"2022-12-07T07:28:32","slug":"agregar-enlaces-personalizados-de-complementos-de-wordpress","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/es\/agregar-enlaces-personalizados-de-complementos-de-wordpress\/","title":{"rendered":"Agregar enlaces personalizados de complementos de WordPress"},"content":{"rendered":"\n<p>Si alguna vez cre\u00f3 un complemento personalizado para usted o para otra persona, es probable que haya hecho algo con los enlaces del complemento de WordPress, incluso si solo proporciona informaci\u00f3n del autor, una URL a la p\u00e1gina de inicio del complemento.<\/p>\n<p>Y sabes de lo que hablo: Estos son los enlaces que aparecen debajo del nombre del plugin.<\/p>\n<p>De acuerdo con <a href=\"https:\/\/developer.wordpress.org\/reference\/hooks\/plugin_row_meta\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">la referencia del c\u00f3digo<\/a>, esta informaci\u00f3n es:<\/p>\n<blockquote>\n<p>Los metadatos del complemento, incluida la versi\u00f3n, el autor, el URI del autor y el URI del complemento.<\/p>\n<\/blockquote>\n<p>De vez en cuando, sin embargo, es posible que desee agregar o modificar los enlaces. Es decir, puede agregar sus propios enlaces personalizados para que aparezcan en la lista a continuaci\u00f3n.<\/p>\n<h2>Enlaces de complementos de WordPress<\/h2>\n<p>En el n\u00facleo, los enlaces de los complementos de WordPress se denominan metafila del complemento (o quiz\u00e1s la fila de metadatos del complemento ser\u00eda m\u00e1s apropiada).<\/p>\n<p>De todos modos, es una variedad de informaci\u00f3n que se ensambla en el front-end cada vez que WordPress quiere mostrar algo. Puede agregar informaci\u00f3n personalizada r\u00e1pidamente haciendo algo <a href=\"https:\/\/gist.github.com\/tommcfarlin\/14b73af1670ed6500ab82c0fecb1a3a7#file-00-plugin-links-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">como esto<\/a> :<\/p>\n<pre><code>&lt;?php\n\nadd_action('plugin_row_meta', __NAMESPACE__. 'addCustomPluginLinks');\n\/**\n * @param array $metaData the array of metadata that appears in the row of plugin information\n *\n * @return array $metaData the modified array that includes the custom anchor\n *\/\nfunction addCustomPluginLinks(array $metaData): array\n{\n  $metaData[] = '&lt;a href=\"https:\/\/google.com\"&gt;Example Link&lt;\/a&gt;';\n  return $metaData;\n}\n<\/code><\/pre>\n<p>Pero esto deja un par de cosas que desear. A saber:<\/p>\n<ul>\n<li>no hay seguridad en torno al marcado (y tal vez podr\u00edas argumentar que no es necesario que lo haya si eres el que est\u00e1 a cargo),<\/li>\n<li>no hay accesibilidad alrededor del ancla,<\/li>\n<\/ul>\n<p>Para mitigar esto, el c\u00f3digo se puede actualizar <a href=\"https:\/\/gist.github.com\/tommcfarlin\/14b73af1670ed6500ab82c0fecb1a3a7#file-01-plugin-links-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">a esto<\/a> :<\/p>\n<pre><code>&lt;?php\n\nadd_action('plugin_row_meta', __NAMESPACE__. 'addCustomPluginLinks');\n\/**\n * @param array $metaData the array of metadata that appears in the row of plugin information\n *\n * @return array $metaData the modified array that includes the custom anchor\n *\/\nfunction addCustomPluginLinks(array $metaData): array\n{\n  \/\/ Safely build the markup for the new anchor.\n  $html = wp_kses(\n      '&lt;a href=\"https:\/\/google.com\" target=\"_blank\" data-title=\"Example Link\" aria-label=\"Example Link\"&gt;Example Link&lt;\/a&gt;',\n      [\n          'a' =&gt; [\n              'href' =&gt; [],\n              'target' =&gt; [],\n              'aria-label' =&gt; [],\n              'data-title' =&gt; [],\n          ],\n      ]\n  );\n\n  \/\/ Insert the markup at the end of the array.\n  $metaData[] = $html;  \n\n  return $metaData;\n}\n<\/code><\/pre>\n<p>Y si realmente quieres ser creativo, puedes usar el m\u00e9todo <a href=\"https:\/\/php.net\/manual\/en\/function.array-splice.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">array_splice<\/a> de PHP para colocar el HTML donde quieras. Adem\u00e1s de eso, es posible que desee agregar una cl\u00e1usula de protecci\u00f3n para un complemento espec\u00edfico usando algo como:<\/p>\n<pre><code>basename(plugin_dir_path(dirname(__FILE__, 2)));<\/code><\/pre>\n<p>Y comprobando el valor del resultado. Simplemente devuelva la matriz entrante si no es igual al nombre de su complemento.<\/p>\n<p>Sin embargo, esto est\u00e1 fuera del alcance de lo que pretendemos hacer. Lo anterior deber\u00eda ser suficiente para comenzar.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fuente de grabaci\u00f3n:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Es posible que desee agregar o modificar los enlaces del complemento de WordPress. Es decir, es posible que desee agregar sus enlaces personalizados para que aparezcan en la lista.<\/p>\n","protected":false},"author":1,"featured_media":235661,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[716,840,861],"tags":[1172],"class_list":["post-231090","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-desarrollador","category-tutoriales","category-wordpress-2","tag-affiai-es"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts\/231090","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=231090"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts\/231090\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/media\/235661"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/media?parent=231090"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/categories?post=231090"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/tags?post=231090"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}