{"id":28004,"date":"2021-05-19T12:34:00","date_gmt":"2021-05-19T09:34:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=28004"},"modified":"2021-10-18T03:43:49","modified_gmt":"2021-10-18T00:43:49","slug":"jak-stworzyc-bloga-z-laravel","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/pl\/jak-stworzyc-bloga-z-laravel\/","title":{"rendered":"Jak stworzy\u0107 bloga z Laravel"},"content":{"rendered":"<p>Laravel to najpopularniejszy framework PHP. Wszyscy wiemy, \u017ce ludzie wol\u0105 ten framework do tworzenia swoich aplikacji internetowych. A buduj\u0105c stron\u0119 internetow\u0105 z Laravelem, prawdopodobnie chcesz zbudowa\u0107 bloga na swojej stronie. Og\u00f3lnie rzecz bior\u0105c, Laravel nie jest platform\u0105 do blogowania, tak\u0105 jak WordPress, na kt\u00f3rej masz wszystkie elementy zaplecza gotowe do zarz\u0105dzania artyku\u0142ami na blogu. A budowanie systemu blogowego od podstaw to do\u015b\u0107 czasoch\u0142onna praca. Dzi\u0119ki <a href=\"https:\/\/cnvs.io\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Canvas,<\/a> kt\u00f3ry u\u0142atwia \u017cycie programistom Laravela, buduj\u0105c fajn\u0105 platform\u0119 wydawnicz\u0105 dla Laravela.<\/p>\n<p>Korzystaj\u0105c z pakietu Canvas mo\u017cemy w kilka minut \u0142atwo zbudowa\u0107 naszego bloga w Laravelu. Canvas wykona\u0142 ju\u017c ci\u0119\u017ck\u0105 prac\u0119 nad zarz\u0105dzaniem backendem bloga. Wszystko, co musisz zrobi\u0107, to po prostu pobra\u0107 dane i wy\u015bwietli\u0107 je na interfejsie u\u017cytkownika pasuj\u0105cym do Twojego projektu.<\/p>\n<p>Powiedziawszy to, przyjrzyjmy si\u0119, jak stworzy\u0107 bloga z Laravel przy u\u017cyciu pakietu Canvas.<\/p>\n<h3>Pierwsze kroki<\/h3>\n<p>Aby rozpocz\u0105\u0107 korzystanie z Canvas, musisz najpierw spe\u0142ni\u0107 podstawowe wymaganie Canvas, jakim jest uwierzytelnianie u\u017cytkownika. Laravel sprawia, \u017ce \u200b\u200bimplementacja uwierzytelniania jest naprawd\u0119 prosta. Je\u015bli ju\u017c zainstalowa\u0142e\u015b uwierzytelnianie Laravel, pomi\u0144 ten krok. W przeciwnym razie w swoim terminalu uruchom poni\u017csze polecenia jeden po drugim, aby skonfigurowa\u0107 uwierzytelnianie Laravel.<\/p>\n<pre><code>composer require laravel\/ui --dev\nphp artisan ui vue --auth\nnpm install &amp;&amp; npm run dev\n<\/code><\/pre>\n<h3>Stw\u00f3rz bloga z Laravel za pomoc\u0105 pakietu Canvas<\/h3>\n<p>Po uwierzytelnieniu mo\u017cesz zainstalowa\u0107 Canvas, uruchamiaj\u0105c poni\u017csze polecenie:<\/p>\n<pre><code>composer require cnvs\/canvas<\/code><\/pre>\n<p>Po zainstalowaniu pakietu musisz opublikowa\u0107 zasoby i podstawowy plik konfiguracyjny. Opublikuj go za pomoc\u0105 polecenia:<\/p>\n<pre><code>php artisan canvas:install<\/code><\/pre>\n<p>To polecenie zlokalizuje podstawowy plik konfiguracyjny w <code>config\/canvas.php<\/code>. Za pomoc\u0105 tego pliku konfiguracyjnego mo\u017cesz kontrolowa\u0107 r\u00f3\u017cne aspekty. Ale rzadko musisz dotyka\u0107 tego pliku, poniewa\u017c wszystkie elementy s\u0105 ju\u017c zdefiniowane w miejscach.<\/p>\n<p>Tworzy r\u00f3wnie\u017c kilka tabel w Twojej bazie danych. Ten pakiet dodaje przedrostek \u201ecanvas_&quot; do wszystkich nowo utworzonych tabel.<\/p>\n<p>Je\u015bli chodzi o blogi, zawsze musisz u\u017cywa\u0107 obraz\u00f3w w tre\u015bci. Utw\u00f3rz wi\u0119c dowi\u0105zanie symboliczne, aby upewni\u0107 si\u0119, \u017ce przesy\u0142ane pliki s\u0105 publicznie dost\u0119pne w Internecie.<\/p>\n<pre><code>php artisan storage:link<\/code><\/pre>\n<p>Oznacza to, \u017ce zobaczysz przes\u0142ane obrazy w <code>public\/storage<\/code>katalogu.<\/p>\n<p>Teraz, je\u015bli uruchomisz adres URL <a href=\"http:\/\/localhost:8000\/canvas\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">http:\/\/localhost:8000\/canvas<\/a>, zostaniesz przekierowany na stron\u0119 statystyk. Mo\u017cesz przekierowa\u0107 do strony logowania, je\u015bli si\u0119 nie zalogowa\u0142e\u015b. Tutaj u\u017cywam localhost, mo\u017cesz dostosowa\u0107 ten URL.<\/p>\n<p>Na stronie statystyk otrzymasz podstawowe statystyki swojego bloga, takie jak liczba wy\u015bwietle\u0144, odwiedzaj\u0105cych, trend ka\u017cdego artyku\u0142u itp.<\/p>\n<p>Z sekcji nag\u0142\u00f3wka mo\u017cesz uzyska\u0107 menu do tworzenia post\u00f3w, tag\u00f3w, temat\u00f3w, ustawie\u0144 itp. Musisz bawi\u0107 si\u0119 wszystkimi tymi menu. To proste i \u0142atwe do zrozumienia.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20562-6082053455c32.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-20562-6082053455c32.png\" alt=\"Jak stworzy\u0107 bloga z Laravel\" ><\/a><\/p>\n<p>Po klikni\u0119ciu przycisku \u201eNowy post&#8221; zostaniesz przekierowany na stron\u0119, na kt\u00f3rej mo\u017cesz doda\u0107 sw\u00f3j artyku\u0142. Mo\u017cesz tak\u017ce doda\u0107 polecane obrazy, ustawienia SEO, tagi, tematy do artyku\u0142u. Zwr\u00f3\u0107 uwag\u0119 na trzy kropki obok przycisku Opublikuj. Klikaj\u0105c na te kropki, uzyskasz wszystkie te opcje.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20562-608205351f558.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-20562-608205351f558.png\" alt=\"Jak stworzy\u0107 bloga z Laravel\" ><\/a><\/p>\n<p>Powy\u017cszy zrzut ekranu pokazuj\u0105cy kolor t\u0142a po w\u0142\u0105czeniu trybu ciemnego. W twoim przypadku mo\u017cesz zobaczy\u0107 bia\u0142e t\u0142o. Wi\u0119c nie dajcie si\u0119 z tym pomyli\u0107. U\u017cytkownik mo\u017ce znale\u017a\u0107 t\u0119 funkcj\u0119 trybu ciemnego na stronie Ustawienia.<\/p>\n<p>Canvas ma funkcj\u0119 automatycznego zapisywania, dzi\u0119ki czemu nie stracisz swojej pracy.<\/p>\n<p>Interfejs tego pakietu jest prosty. Mo\u017cesz si\u0119 z nim \u0142atwo zapozna\u0107 w mgnieniu oka. Nast\u0119pn\u0105 rzecz\u0105, kt\u00f3r\u0105 musimy zobaczy\u0107, jest wy\u015bwietlanie Twoich artyku\u0142\u00f3w w interfejsie u\u017cytkownika.<\/p>\n<h4>Publikowanie artyku\u0142\u00f3w na stronie internetowej<\/h4>\n<p>Gdy sko\u0144czysz z backendem, musisz wy\u015bwietli\u0107 swoje artyku\u0142y w interfejsie. Wymaga zdefiniowania kilku tras i metod w pliku kontrolera. Biblioteka Canvas wykona\u0142a dla Ciebie ci\u0119\u017ck\u0105 prac\u0119. Na stronie GitHub tej biblioteki otrzymasz jej kod. Dodaj poni\u017csze trasy w swoim <code>routes\/web.php<\/code>pliku.<\/p>\n<pre><code>\/\/ Get all published posts\nRoute::get('blog', 'BlogController@getPosts');\n\u00a0\n\/\/ Get posts for a given tag\nRoute::get('tag\/{slug}', 'BlogController@getPostsByTag');\n\u00a0\n\/\/ Get posts for a given topic\nRoute::get('topic\/{slug}', 'BlogController@getPostsByTopic');\n\u00a0\n\/\/ Find a single post\nRoute::middleware('CanvasHttpMiddlewareSession')-&gt;get('{slug}', 'BlogController@findPostBySlug');<\/code><\/pre>\n<p>Utw\u00f3rz kontroler BlogController za pomoc\u0105 polecenia:<\/p>\n<pre><code>php artisan make:controller BlogController<\/code><\/pre>\n<p>Tw\u00f3j <code>BlogController.php<\/code>kod b\u0119dzie mia\u0142 poni\u017cej.<\/p>\n<pre><code>&lt;?php\n\u00a0\nnamespace AppHttpControllers;\n\u00a0\nuse IlluminateHttpRequest;\n\u00a0\nclass BlogController extends Controller\n{\n\u00a0\u00a0\u00a0\u00a0public function getPosts()\n\u00a0\u00a0\u00a0\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$data = [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'posts' =&gt; CanvasPost::published()-&gt;orderByDesc('published_at')-&gt;simplePaginate(10),\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0];\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return view('blog.index', compact('data'));\n\u00a0\u00a0\u00a0\u00a0}\n\u00a0\n\u00a0\u00a0\u00a0\u00a0public function getPostsByTag(string $slug)\n\u00a0\u00a0\u00a0\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if (CanvasTag::where('slug', $slug)-&gt;first()) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$data = [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'posts' =&gt; CanvasPost::whereHas('tags', function ($query) use ($slug) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$query-&gt;where('slug', $slug);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0})-&gt;published()-&gt;orderByDesc('published_at')-&gt;simplePaginate(10),\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\u00a0return view('blog.index', compact('data'));\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0} else {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0abort(404);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0}\n\u00a0\n\u00a0\u00a0\u00a0\u00a0public function getPostsByTopic(string $slug)\n\u00a0\u00a0\u00a0\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if (CanvasTopic::where('slug', $slug)-&gt;first()) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$data = [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'posts' =&gt; CanvasPost::whereHas('topic', function ($query) use ($slug) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$query-&gt;where('slug', $slug);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0})-&gt;published()-&gt;orderByDesc('published_at')-&gt;simplePaginate(10),\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\u00a0return view('blog.index', compact('data'));\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0} else {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0abort(404);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0}\n\u00a0\n\u00a0\u00a0\u00a0\u00a0public function findPostBySlug(string $slug)\n\u00a0\u00a0\u00a0\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$posts = CanvasPost::with('tags', 'topic')-&gt;published()-&gt;get();\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$post = $posts-&gt;firstWhere('slug', $slug);\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if (optional($post)-&gt;published) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$data = [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'author' =&gt; $post-&gt;user,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'post'\u00a0\u00a0 =&gt; $post,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'meta'\u00a0\u00a0 =&gt; $post-&gt;meta,\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\/\/ IMPORTANT: This event must be called for tracking visitor\/view traffic\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0event(new CanvasEventsPostViewed($post));\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return view('blog.show', compact('data'));\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0} else {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0abort(404);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0}\n}<\/code><\/pre>\n<h4>Tw\u00f3rz pliki kaset<\/h4>\n<p>Zgodnie z definicj\u0105 w kontrolerze utw\u00f3rzmy plik ostrza <code>blog\/index.blade.php<\/code>i <code>blog\/show.blade.php<\/code>. W tym samouczku nie zamierzam projektowa\u0107 listy blog\u00f3w i strony ze szczeg\u00f3\u0142ami. Jak ka\u017cdy z Was ma osobny projekt. Mam zamiar tylko wydrukowa\u0107 artyku\u0142y na pliku ostrza. Mo\u017cesz zastosowa\u0107 dopasowanie projektu do swojej witryny.<\/p>\n<p><strong>blog\/indeks.blade.php<\/strong><\/p>\n<pre><code>&lt;ul&gt;\n\u00a0\u00a0\u00a0\u00a0@foreach($data['posts'] as $d)\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;li&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;h2&gt;&lt;a href=\"{{url($d['slug'])}}\"&gt;{{ $d['title'] }}&lt;\/a&gt;&lt;\/h2&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;p&gt;{!! $d['body'] !!}&lt;\/p&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/li&gt;\n\u00a0\u00a0\u00a0\u00a0@endforeach\n&lt;\/ul&gt;<\/code><\/pre>\n<p><strong>blog\/show.blade.php<\/strong><\/p>\n<pre><code>@if($data['post']['featured_image'])\n\u00a0\u00a0\u00a0\u00a0&lt;img src=\"{{ url($data['post']['featured_image']) }}\" alt=\"{{ $data['post']['featured_image_caption'] }}\" \/&gt;\n@endif\n&lt;h2&gt;{{ $data['post']['title'] }}&lt;\/h2&gt;\n{!! $data['post']['body'] !!}<\/code><\/pre>\n<p>Sugerowa\u0142bym wydrukowanie <code>$data<\/code>zmiennej i sprawdzenie wszystkich informacji, kt\u00f3re ta zmienna zawiera. Prawdopodobnie chcia\u0142by\u015b u\u017cy\u0107 innych szczeg\u00f3\u0142\u00f3w r\u00f3wnie\u017c z tej zmiennej.<\/p>\n<p>Mam nadziej\u0119, \u017ce rozumiesz, jak stworzy\u0107 bloga z Laravelem przy u\u017cyciu pakietu Canvas. Mo\u017cesz dowiedzie\u0107 si\u0119 wi\u0119cej o tym pakiecie na <a href=\"https:\/\/github.com\/cnvs\/canvas\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">cnvs\/canvas<\/a>.<\/p>\n<h4>Powi\u0105zane artyku\u0142y<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/pl\/jak-stworzyc-honeypota-do-walki-ze-spamem-formularzy-w-laravel\/\" title=\"Jak stworzy\u0107 Honeypota do walki ze spamem formularzy w Laravel?\">Jak stworzy\u0107 Honeypota do walki ze spamem formularzy w Laravel?<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/pl\/kopia-zapasowa-aplikacji-laravel-na-dropbox\/\" title=\"Kopia zapasowa aplikacji Laravel na Dropbox\">Kopia zapasowa aplikacji Laravel na Dropbox<\/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 swojej aplikacji mo\u017cesz chcie\u0107 zintegrowa\u0107 stron\u0119 bloga. W tym artykule poka\u017c\u0119, jak jedna taks\u00f3wka stworzy\u0142a bloga z Laravelem. U\u017cytkownik mo\u017ce korzysta\u0107 z p\u0142\u00f3tna<\/p>\n","protected":false},"author":1,"featured_media":20563,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[501],"tags":[847],"class_list":["post-28004","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laravel","tag-affiai-pl"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/posts\/28004","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=28004"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/posts\/28004\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/media\/20563"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/media?parent=28004"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/categories?post=28004"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/tags?post=28004"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}