{"id":28685,"date":"2021-05-29T18:05:00","date_gmt":"2021-05-29T15:05:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=28685"},"modified":"2021-10-18T03:38:55","modified_gmt":"2021-10-18T00:38:55","slug":"jak-programowo-ustawic-wyrozniony-obraz-w-wordpress","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/pl\/jak-programowo-ustawic-wyrozniony-obraz-w-wordpress\/","title":{"rendered":"Jak programowo ustawi\u0107 wyr\u00f3\u017cniony obraz w WordPress"},"content":{"rendered":"<p>Czy chcesz ustawi\u0107 polecany obraz za pomoc\u0105 kodu w WordPressie? Czasami natkn\u0105\u0142e\u015b si\u0119 na zadanie, w kt\u00f3rym musisz napisa\u0107 fragment kodu, kt\u00f3ry powinien ustawi\u0107 miniatur\u0119 postu dla postu, strony lub niestandardowych typ\u00f3w post\u00f3w. W tym artykule dowiemy si\u0119, jak programowo ustawi\u0107 polecany obraz w WordPress.<\/p>\n<p>WordPress zapewnia wiele przydatnych funkcji dla stron internetowych. Jednym z nich jest Polecany obraz aka Post Thumbnail. Polecany obraz to reprezentatywny obraz dla posta, strony lub niestandardowego typu posta.<\/p>\n<h3>Zwyk\u0142y spos\u00f3b ustawiania miniatury post\u00f3w<\/h3>\n<p>Polecane obrazy mo\u017cemy przesy\u0142a\u0107 do okre\u015blonych post\u00f3w lub stron, klikaj\u0105c link \u201eUstaw polecany obraz&quot;. Otworzy si\u0119 program do przesy\u0142ania multimedi\u00f3w WordPress, w kt\u00f3rym mo\u017cesz wybra\u0107 istniej\u0105cy obraz lub przes\u0142a\u0107 nowy obraz.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20420-6081eee231f82.png\" data-rel=\"lightbox\" ><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20420-6081eee231f82.png\" alt=\"Jak programowo ustawi\u0107 wyr\u00f3\u017cniony obraz w WordPress\" ><\/a><\/p>\n<p>Jest to prosty spos\u00f3b na ustawienie miniatury posta w WordPress. Te same kroki nale\u017cy wykona\u0107 dla stron i typ\u00f3w post\u00f3w.<\/p>\n<p>Ale jak wspomniano na pocz\u0105tku, celem tego artyku\u0142u jest napisanie kodu, kt\u00f3ry ustawia miniatur\u0119 posta bez wykonywania powy\u017cszych krok\u00f3w.<\/p>\n<h3>Ustaw polecany obraz programowo<\/h3>\n<p>W tym samouczku tworz\u0119 formularz, w kt\u00f3rym u\u017cytkownik mo\u017ce wybra\u0107 obraz, a ten obraz zostanie ustawiony jako miniatura posta o okre\u015blonym identyfikatorze posta. Umie\u015b\u0107 poni\u017cszy kod w pliku szablonu.<\/p>\n<pre><code>&lt;form method=\"post\" enctype=\"multipart\/form-data\"&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;div class=\"form-group\"&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;label&gt;&lt;?php _e('Select Image:', 'Your text domain here');?&gt;&lt;\/label&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;input type=\"file\" name=\"image\"&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;\/div&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;div class=\"form-group\"&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;input type=\"submit\" name=\"upload_file\" value=\"Submit\"&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;\/div&gt;\n&lt;\/form&gt;<\/code><\/pre>\n<p>Ten kod wy\u015bwietli formularz z danymi wej\u015bciowymi pliku i przyciskiem przesy\u0142ania.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20420-6081eee2ac3dd.png\" data-rel=\"lightbox\" ><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20420-6081eee2ac3dd.png\" alt=\"Jak programowo ustawi\u0107 wyr\u00f3\u017cniony obraz w WordPress\" ><\/a><\/p>\n<p>Teraz, po klikni\u0119ciu przycisku przesy\u0142ania, musimy ustawi\u0107 wyr\u00f3\u017cniony obraz. Napisz poni\u017cszy kod w aktywnym <code>functions.php<\/code>pliku motyw\u00f3w .<\/p>\n<pre><code>function fn_set_featured_image() {\n\u00a0\u00a0\u00a0\u00a0if (isset($_POST['upload_file'])) {\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$upload = wp_upload_bits($_FILES[\"image\"][\"name\"], null, file_get_contents($_FILES[\"image\"][\"tmp_name\"]));\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if (! $upload_file['error']) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$post_id = YOUR_POST_ID_HERE; \/\/set post id to which you need to set featured image\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$filename = $upload['file'];\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$wp_filetype = wp_check_filetype($filename, null);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$attachment = array(\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'post_mime_type' =&gt; $wp_filetype['type'],\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'post_title' =&gt; sanitize_file_name($filename),\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'post_content' =&gt; '',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'post_status' =&gt; 'inherit'\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0);\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$attachment_id = wp_insert_attachment( $attachment, $filename, $post_id );\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if (! is_wp_error( $attachment_id)) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0require_once(ABSPATH. 'wp-admin\/includes\/image.php');\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$attachment_data = wp_generate_attachment_metadata( $attachment_id, $filename );\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0wp_update_attachment_metadata( $attachment_id, $attachment_data );\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0set_post_thumbnail( $post_id, $attachment_id );\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0}\n}\nadd_action('init', 'fn_set_featured_image');<\/code><\/pre>\n<p>Tutaj u\u017cywam metody <a href=\"https:\/\/codex.wordpress.org\/Function_Reference\/wp_upload_bits\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">wp_upload_bits()<\/a>, kt\u00f3ra przesy\u0142a obraz i zwraca \u015bcie\u017ck\u0119 bezwzgl\u0119dn\u0105 i wzgl\u0119dn\u0105. Musimy wzi\u0105\u0107 wygenerowan\u0105 \u015bcie\u017ck\u0119 bezwzgl\u0119dn\u0105 i przej\u015b\u0107 do nast\u0119pnych metod, takich jak <code>wp_check_filetype()<\/code>, <code>wp_insert_attachment()<\/code>i <code>wp_generate_attachment_metadata()<\/code>dla dodatkowego przetwarzania.<\/p>\n<p>Nast\u0119pnie, je\u015bli przejdziesz do ekranu edycji okre\u015blonego posta, zobaczysz miniatur\u0119 posta w sekcji Polecany obraz. Oznacza to, \u017ce pomy\u015blnie ustawili\u015bmy polecany obraz programowo.<\/p>\n<h4>Powi\u0105zane artyku\u0142y<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/pl\/przeslij-obraz-za-pomoca-bulletproof-library-w-php\/\" title=\"Prze\u015blij obraz za pomoc\u0105 kuloodpornej biblioteki w PHP\">Prze\u015blij obraz za pomoc\u0105 kuloodpornej biblioteki w PHP<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/pl\/jak-zarejestrowac-niestandardowe-rozmiary-obrazow-i-zmienic-rozmiar-istniejacych-obrazow-w-wordpress\/\" title=\"Jak zarejestrowa\u0107 niestandardowe rozmiary obraz\u00f3w i zmieni\u0107 rozmiar istniej\u0105cych obraz\u00f3w w WordPress?\">Jak zarejestrowa\u0107 niestandardowe rozmiary obraz\u00f3w i zmieni\u0107 rozmiar istniej\u0105cych obraz\u00f3w w WordPress?<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/pl\/jak-przesylac-i-kompresowac-obrazy-w-laravel\/\" title=\"Przewodnik po przesy\u0142aniu i kompresowaniu obraz\u00f3w w Laravel\">Przewodnik po przesy\u0142aniu i kompresowaniu obraz\u00f3w w Laravel<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">\u0179r\u00f3d\u0142o nagrywania:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>W tym samouczku znajdziesz skrypt, kt\u00f3ry programowo ustawia polecane obrazy w WordPress. Mo\u017cesz ustawi\u0107 polecany obraz na post, stron\u0119, niestandardowy post.<\/p>\n","protected":false},"author":1,"featured_media":21673,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[416,612],"tags":[847],"class_list":["post-28685","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-roznorodny","category-uncategorized-8","tag-affiai-pl"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/posts\/28685","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/comments?post=28685"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/posts\/28685\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/media\/21673"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/media?parent=28685"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/categories?post=28685"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/tags?post=28685"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}