{"id":230661,"date":"2022-12-17T12:36:00","date_gmt":"2022-12-17T09:36:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=230661"},"modified":"2022-12-07T11:45:02","modified_gmt":"2022-12-07T08:45:02","slug":"dodawanie-lacza-do-ustawien-wtyczki","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/pl\/dodawanie-lacza-do-ustawien-wtyczki\/","title":{"rendered":"Dodawanie \u0142\u0105cza do ustawie\u0144 wtyczki"},"content":{"rendered":"<p>Za ka\u017cdym razem, gdy budujesz wtyczk\u0119, kt\u00f3ra wprowadza podmenu i u\u017cywasz odpowiednich interfejs\u00f3w API, b\u0119dziesz tworzy\u0107 stron\u0119 administracyjn\u0105 (bez wzgl\u0119du na to, czy ma ona ustawienia).<\/p>\n<p>Robi\u0105c to, mo\u017cesz jednak r\u00f3wnie\u017c wprowadzi\u0107 link do ustawie\u0144 wtyczki. S\u0105 to linki, kt\u00f3re pojawiaj\u0105 si\u0119 pod nazw\u0105 wtyczki z panelu wtyczki.<\/p>\n<p>Je\u015bli twoja wtyczka wprowadza sw\u00f3j element podmenu, prawdopodobnie wprowadza w\u0142asn\u0105 stron\u0119 ustawie\u0144. A je\u015bli chcesz powi\u0105za\u0107 t\u0119 stron\u0119 z linkiem do ustawie\u0144 wtyczki, jest to naprawd\u0119 \u0142atwe.<\/p>\n<h2>Link do ustawie\u0144 wtyczek<\/h2>\n<p>Po pierwsze, pomocne mo\u017ce by\u0107 przejrzenie haka <a href=\"https:\/\/codex.wordpress.org\/Plugin_API\/Filter_Reference\/plugin_action_links_(plugin_file_name)\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">plugin_action_links<\/a>, kt\u00f3ry zapewnia WordPress.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-161139-61e71c586e8b9.png\" 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-161139-61e71c586e8b9.png\" alt=\"Dodawanie \u0142\u0105cza do ustawie\u0144 wtyczki\" ><\/a><\/p>\n<p>Jak stwierdza Kodeks:<\/p>\n<blockquote>\n<p>Stosowany do listy link\u00f3w do wy\u015bwietlenia na stronie wtyczek (obok link\u00f3w aktywuj\/dezaktywuj).<\/p>\n<\/blockquote>\n<p>Stamt\u0105d musisz zdefiniowa\u0107 swoj\u0105 funkcj\u0119, a nast\u0119pnie utworzy\u0107 link do strony ustawie\u0144.<\/p>\n<p>Wszystko, co musisz wiedzie\u0107, to:<\/p>\n<ol>\n<li>funkcja callback akceptuje tablic\u0119 link\u00f3w, kt\u00f3re b\u0119dzie renderowa\u0107,<\/li>\n<li>URL do strony z ustawieniami<\/li>\n<\/ol>\n<p>Stamt\u0105d wystarczy doda\u0107 link do strony ustawie\u0144 wtyczki i doda\u0107 link do tablicy przychodz\u0105cej. Nast\u0119pnie zwracasz t\u0119 tablic\u0119 do WordPressa.<\/p>\n<p><a href=\"https:\/\/gist.github.com\/tommcfarlin\/f368f8d7ab6e0ce3c25b00995ccf319e\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Oto jak<\/a> :<\/p>\n<pre><code>&lt;?php\nadd_filter('plugin_action_links_'. plugin_basename(__FILE__), __NAMESPACE__. 'acme_settings_link' );\n\/**\n * Creates a Settings link that links the users directly to the Settings page from the admin\n * screen.\n *\n * @param array $links The list of links to appear under the plugin title.\n * @return array $links The updated array of links including the 'Settings' link.\n *\/\nfunction acme_settings_link($links) {\n\n    \/\/ Build the URL.\n    $url = add_query_arg(\n        'page',\n        'acme-plugin',\n        get_admin_url(). 'admin.php'\n    );\n\n    \/\/ Create the link.\n    $settings_link = \"&lt;a href='$url'&gt;\". __( 'Settings' ). '&lt;\/a&gt;';\n\n    \/\/ Adds the link to the end of the array.\n    array_push(\n        $links,\n        $settings_link\n    );\n\n    return $links;\n}<\/code><\/pre>\n<p>I to wszystko.<\/p>\n<p>Je\u015bli chcesz zmieni\u0107 lokalizacj\u0119 linku, mo\u017cesz umie\u015bci\u0107 go w innym miejscu tablicy, u\u017cywaj\u0105c jednej z <a href=\"https:\/\/secure.php.net\/manual\/en\/ref.array.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">wielu funkcji tablicowych PHP<\/a> (lub nawet zmieniaj\u0105c miejsce okre\u015blone w powy\u017cszej funkcji (pierwszej lub ostatniej).<\/p>\n<p>Od tego momentu link do ustawie\u0144 wtyczki pojawi si\u0119 na stronie wtyczki w obszarze administracyjnym WordPress.<\/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>Je\u015bli twoja wtyczka wprowadza sw\u00f3j element podmenu, prawdopodobnie wprowadza stron\u0119 ustawie\u0144. A je\u015bli chcesz wprowadzi\u0107 link do ustawie\u0144 wtyczki, jest to \u0142atwe.<\/p>\n","protected":false},"author":1,"featured_media":236170,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[721,897,866],"tags":[1169],"class_list":["post-230661","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-deweloper","category-kod","category-wordpress-7","tag-affiai-pl"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/posts\/230661","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=230661"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/posts\/230661\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/media\/236170"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/media?parent=230661"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/categories?post=230661"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/tags?post=230661"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}