{"id":230838,"date":"2022-12-21T12:54:00","date_gmt":"2022-12-21T09:54:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=230838"},"modified":"2022-12-07T10:28:40","modified_gmt":"2022-12-07T07:28:40","slug":"dodawanie-niestandardowych-linkow-do-wtyczek-wordpress","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/pl\/dodawanie-niestandardowych-linkow-do-wtyczek-wordpress\/","title":{"rendered":"Dodawanie niestandardowych link\u00f3w do wtyczek WordPress"},"content":{"rendered":"\n<p>Je\u015bli kiedykolwiek zbudowa\u0142e\u015b niestandardow\u0105 wtyczk\u0119 dla siebie lub dla kogo\u015b innego, prawdopodobnie zrobi\u0142e\u015b co\u015b z linkami do wtyczki WordPress, nawet je\u015bli jest to tylko dostarczanie informacji o autorze adresu URL strony g\u0142\u00f3wnej wtyczki.<\/p>\n<p>I wiecie, o czym m\u00f3wi\u0119: s\u0105 to linki, kt\u00f3re pojawiaj\u0105 si\u0119 pod nazw\u0105 wtyczki.<\/p>\n<p>Zgodnie <a href=\"https:\/\/developer.wordpress.org\/reference\/hooks\/plugin_row_meta\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">z kodem referencyjnym<\/a> te informacje to:<\/p>\n<blockquote>\n<p>Metadane wtyczki, w tym wersja, autor, identyfikator URI autora i identyfikator URI wtyczki.<\/p>\n<\/blockquote>\n<p>Czasami jednak mo\u017ce si\u0119 okaza\u0107, \u017ce chcesz doda\u0107 lub zmodyfikowa\u0107 \u0142\u0105cza. Oznacza to, \u017ce mo\u017cesz doda\u0107 w\u0142asne niestandardowe \u0142\u0105cza, aby pojawi\u0142y si\u0119 na poni\u017cszej li\u015bcie.<\/p>\n<h2>Linki do wtyczek WordPress<\/h2>\n<p>W rdzeniu linki do wtyczek WordPress s\u0105 okre\u015blane jako wiersz meta wtyczki (lub by\u0107 mo\u017ce bardziej odpowiedni by\u0142by wiersz metadanych wtyczki).<\/p>\n<p>Niezale\u017cnie od tego, jest to zestaw informacji, kt\u00f3re s\u0105 gromadzone i renderowane na interfejsie u\u017cytkownika, gdy WordPress chce co\u015b zaprezentowa\u0107. Mo\u017cesz szybko doda\u0107 niestandardowe informacje, wykonuj\u0105c co\u015b <a href=\"https:\/\/gist.github.com\/tommcfarlin\/14b73af1670ed6500ab82c0fecb1a3a7#file-00-plugin-links-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">takiego<\/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>Ale to pozostawia kilka rzeczy do \u017cyczenia. Mianowicie:<\/p>\n<ul>\n<li>nie ma \u017cadnych zabezpiecze\u0144 wok\u00f3\u0142 znacznik\u00f3w (i by\u0107 mo\u017ce m\u00f3g\u0142by\u015b zg\u0142osi\u0107 przypadek, w kt\u00f3rym nie ma takiej potrzeby, je\u015bli jeste\u015b tym odpowiedzialny),<\/li>\n<li>wok\u00f3\u0142 kotwicy nie ma dost\u0119pu,<\/li>\n<\/ul>\n<p>Aby to z\u0142agodzi\u0107, kod mo\u017cna zaktualizowa\u0107 <a href=\"https:\/\/gist.github.com\/tommcfarlin\/14b73af1670ed6500ab82c0fecb1a3a7#file-01-plugin-links-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">do tego<\/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>A je\u015bli naprawd\u0119 chcesz by\u0107 kreatywny, mo\u017cesz u\u017cy\u0107 metody <a href=\"https:\/\/php.net\/manual\/en\/function.array-splice.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">array_splice<\/a> PHP, aby umie\u015bci\u0107 kod HTML w dowolnym miejscu. Ponadto mo\u017cesz doda\u0107 klauzul\u0119 ochronn\u0105 dla okre\u015blonej wtyczki, u\u017cywaj\u0105c czego\u015b takiego:<\/p>\n<pre><code>basename(plugin_dir_path(dirname(__FILE__, 2)));<\/code><\/pre>\n<p>I sprawdzanie warto\u015bci wyniku. Po prostu zwr\u00f3\u0107 przychodz\u0105c\u0105 tablic\u0119, je\u015bli nie jest ona r\u00f3wna nazwie Twojej wtyczki.<\/p>\n<p>Jednak wykracza to poza zakres tego, co zamierzamy zrobi\u0107. Powy\u017csze powinno wystarczy\u0107, aby zacz\u0105\u0107.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">\u0179r\u00f3d\u0142o nagrywania:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Mo\u017ce si\u0119 okaza\u0107, \u017ce chcesz doda\u0107 lub zmodyfikowa\u0107 linki do wtyczki WordPress. Oznacza to, \u017ce mo\u017cesz chcie\u0107 doda\u0107 niestandardowe \u0142\u0105cza, aby pojawi\u0142y si\u0119 na li\u015bcie.<\/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":[721,845,866],"tags":[1169],"class_list":["post-230838","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-deweloper","category-samouczki","category-wordpress-7","tag-affiai-pl"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/posts\/230838","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/comments?post=230838"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/posts\/230838\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/media\/235661"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/media?parent=230838"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/categories?post=230838"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/tags?post=230838"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}