{"id":230881,"date":"2022-12-21T13:13:00","date_gmt":"2022-12-21T10:13:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=230881"},"modified":"2022-12-07T10:28:41","modified_gmt":"2022-12-07T07:28:41","slug":"laegga-till-anpassade-wordpress-pluginlaenkar","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/sv\/laegga-till-anpassade-wordpress-pluginlaenkar\/","title":{"rendered":"L\u00e4gga till anpassade WordPress-pluginl\u00e4nkar"},"content":{"rendered":"<p>Om du n\u00e5gonsin har byggt ett anpassat plugin f\u00f6r dig sj\u00e4lv eller f\u00f6r n\u00e5gon annan, s\u00e5 har du troligen gjort n\u00e5got med WordPress-plugin-l\u00e4nkarna \u00e4ven om det bara tillhandah\u00e5ller f\u00f6rfattareinformation en URL till startsidan f\u00f6r plugin-programmet.<\/p>\n<p>Och du vet vad jag pratar om: Det h\u00e4r \u00e4r l\u00e4nkarna som visas under namnet p\u00e5 plugin-programmet.<\/p>\n<p>Enligt <a href=\"https:\/\/developer.wordpress.org\/reference\/hooks\/plugin_row_meta\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">kodreferensen<\/a> \u00e4r denna information:<\/p>\n<blockquote>\n<p>Insticksprogrammets metadata, inklusive version, f\u00f6rfattare, f\u00f6rfattare-URI och plugin-URI.<\/p>\n<\/blockquote>\n<p>Ibland kan du dock uppt\u00e4cka att du vill l\u00e4gga till eller \u00e4ndra l\u00e4nkarna. Det vill s\u00e4ga, du kan l\u00e4gga till dina egna anpassade l\u00e4nkar f\u00f6r att visas i listan nedan.<\/p>\n<h2>WordPress plugin l\u00e4nkar<\/h2>\n<p>I k\u00e4rnan h\u00e4nvisas till WordPress-plugin-l\u00e4nkarna som plugin-metaraden (eller kanske plugin-metadataraden skulle vara mer l\u00e4mplig).<\/p>\n<p>Oavsett vilket \u00e4r det en m\u00e4ngd information som har samlat dem renderad p\u00e5 front-end n\u00e4r WordPress vill visa upp n\u00e5got. Du kan snabbt l\u00e4gga till anpassad information genom att g\u00f6ra n\u00e5got <a href=\"https:\/\/gist.github.com\/tommcfarlin\/14b73af1670ed6500ab82c0fecb1a3a7#file-00-plugin-links-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">s\u00e5 h\u00e4r<\/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>Men detta l\u00e4mnar ett par saker att \u00f6nska. N\u00e4mligen:<\/p>\n<ul>\n<li>det finns ingen s\u00e4kerhet kring uppm\u00e4rkningen (och du kanske kan g\u00f6ra ett \u00e4rende som det inte beh\u00f6ver finnas om du \u00e4r den som ansvarar f\u00f6r det),<\/li>\n<li>det finns ingen tillg\u00e4nglighet runt ankaret,<\/li>\n<\/ul>\n<p>F\u00f6r att mildra detta kan koden uppdateras <a href=\"https:\/\/gist.github.com\/tommcfarlin\/14b73af1670ed6500ab82c0fecb1a3a7#file-01-plugin-links-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">till detta<\/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>Och om du verkligen vill bli kreativ kan du anv\u00e4nda PHP:s <a href=\"https:\/\/php.net\/manual\/en\/function.array-splice.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">array_splice<\/a> &#8211; metod f\u00f6r att placera HTML-koden var du vill. Ut\u00f6ver det kanske du vill l\u00e4gga till en skyddsklausul f\u00f6r ett specifikt plugin genom att anv\u00e4nda n\u00e5got som:<\/p>\n<pre><code>basename(plugin_dir_path(dirname(__FILE__, 2)));<\/code><\/pre>\n<p>Och kontrollera v\u00e4rdet av resultatet. Bara returnera den inkommande arrayen om den inte \u00e4r lika med namnet p\u00e5 din plugin.<\/p>\n<p>Detta \u00e4r dock utanf\u00f6r ramarna f\u00f6r vad vi siktar p\u00e5 att g\u00f6ra. Ovanst\u00e5ende borde vara tillr\u00e4ckligt f\u00f6r att du ska komma ig\u00e5ng.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Inspelningsk\u00e4lla:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Du kanske uppt\u00e4cker att du vill l\u00e4gga till eller \u00e4ndra WordPress-plugin-l\u00e4nkarna. Det vill s\u00e4ga, du kanske vill l\u00e4gga till dina anpassade l\u00e4nkar f\u00f6r att visas i listan.<\/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":[848,724,868],"tags":[1173],"class_list":["post-230881","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-handledningar","category-utvecklaren","category-wordpress-9","tag-affiai-sv"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/posts\/230881","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/comments?post=230881"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/posts\/230881\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/media\/235661"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/media?parent=230881"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/categories?post=230881"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/tags?post=230881"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}