{"id":127,"date":"2022-12-01T13:17:51","date_gmt":"2022-12-01T13:17:51","guid":{"rendered":"https:\/\/ahmetersoy.net\/?p=127"},"modified":"2025-04-08T13:51:04","modified_gmt":"2025-04-08T10:51:04","slug":"bir-wordpress-eklentisi-nasil-genisletilebilir-hale-getirilir","status":"publish","type":"post","link":"https:\/\/ahmetersoy.net\/en\/bir-wordpress-eklentisi-nasil-genisletilebilir-hale-getirilir\/127\/","title":{"rendered":"Bir WordPress Eklentisi Nas\u0131l Geni\u015fletilebilir Hale Getirilir?"},"content":{"rendered":"<div data-elementor-type=\"wp-post\" data-elementor-id=\"127\" class=\"elementor elementor-127\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-6027d72 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"6027d72\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-577584a\" data-id=\"577584a\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-6b558f5 elementor-widget elementor-widget-text-editor\" data-id=\"6b558f5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>WordPress, esnek ve g\u00fc\u00e7l\u00fc yap\u0131s\u0131 sayesinde d\u00fcnya \u00fczerindeki web sitelerinin b\u00fcy\u00fck bir \u00e7o\u011funlu\u011fu taraf\u0131ndan tercih edilen bir i\u00e7erik y\u00f6netim sistemidir. Bu ba\u015far\u0131s\u0131n\u0131n \u00f6nemli bir nedeni de eklenti (plugin) mimarisidir. Eklentiler, WordPress \u00e7ekirdek i\u015flevselli\u011fini de\u011fi\u015ftirmeye veya yeni \u00f6zellikler eklemeye olanak tan\u0131r. Ancak, bir eklentinin ger\u00e7ekten ba\u015far\u0131l\u0131 olabilmesi i\u00e7in sadece mevcut ihtiya\u00e7lar\u0131 kar\u015f\u0131lamas\u0131 yeterli de\u011fildir; ayn\u0131 zamanda gelecekteki olas\u0131 gereksinimlere ve di\u011fer geli\u015ftiricilerin katk\u0131lar\u0131na da a\u00e7\u0131k olmas\u0131, yani geni\u015fletilebilir olmas\u0131 kritik \u00f6neme sahiptir.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-4e8fd27 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"4e8fd27\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-af2d879\" data-id=\"af2d879\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-fb038ae elementor-widget elementor-widget-text-editor\" data-id=\"fb038ae\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>WordPress, esnek ve g\u00fc\u00e7l\u00fc yap\u0131s\u0131 sayesinde d\u00fcnya \u00fczerindeki web sitelerinin b\u00fcy\u00fck bir \u00e7o\u011funlu\u011fu taraf\u0131ndan tercih edilen bir i\u00e7erik y\u00f6netim sistemidir. Bu ba\u015far\u0131s\u0131n\u0131n \u00f6nemli bir nedeni de eklenti (plugin) mimarisidir. Eklentiler, WordPress \u00e7ekirdek i\u015flevselli\u011fini de\u011fi\u015ftirmeye veya yeni \u00f6zellikler eklemeye olanak tan\u0131r. Ancak, bir eklentinin ger\u00e7ekten ba\u015far\u0131l\u0131 olabilmesi i\u00e7in sadece mevcut ihtiya\u00e7lar\u0131 kar\u015f\u0131lamas\u0131 yeterli de\u011fildir; ayn\u0131 zamanda gelecekteki olas\u0131 gereksinimlere ve di\u011fer geli\u015ftiricilerin katk\u0131lar\u0131na da a\u00e7\u0131k olmas\u0131, yani geni\u015fletilebilir olmas\u0131 kritik \u00f6neme sahiptir.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-ec4ce5d elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"ec4ce5d\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-2c85e69\" data-id=\"2c85e69\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-2f81d6c elementor-widget elementor-widget-text-editor\" data-id=\"2f81d6c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Geni\u015fletilebilirlik, bir eklentinin temel i\u015flevselli\u011fini bozmadan, di\u011fer geli\u015ftiricilerin veya hatta ayn\u0131 geli\u015ftiricinin gelecekteki g\u00fcncellemelerinde yeni \u00f6zellikler ekleyebilmesini, mevcut davran\u0131\u015flar\u0131 de\u011fi\u015ftirebilmesini veya entegrasyonlar sa\u011flayabilmesini ifade eder. \u0130yi tasarlanm\u0131\u015f, geni\u015fletilebilir bir eklenti, WordPress ekosistemine de\u011fer katar, daha uzun \u00f6m\u00fcrl\u00fc olur ve daha geni\u015f bir kullan\u0131c\u0131 kitlesine hitap eder. Peki, bir WordPress eklentisini nas\u0131l geni\u015fletilebilir hale getirebiliriz? \u0130\u015fte dikkat edilmesi gereken temel prensipler ve teknikler: **1. Kanca (Hooks) Kullan\u0131m\u0131:** WordPress&#8217;in temelini olu\u015fturan kanca sistemi (actions ve filters), eklentilerin geni\u015fletilebilirli\u011finin en \u00f6nemli yap\u0131 ta\u015f\u0131d\u0131r. * **Eylemler (Actions):** Belirli bir olay ger\u00e7ekle\u015fti\u011finde (\u00f6rne\u011fin, bir g\u00f6nderi kaydedildi\u011finde, bir tema y\u00fcklendi\u011finde) tetiklenen noktalard\u0131r. Eklentiler, <code>add_action()<\/code> fonksiyonunu kullanarak bu noktalara kendi fonksiyonlar\u0131n\u0131 ba\u011flayabilir ve b\u00f6ylece WordPress&#8217;in veya di\u011fer eklentilerin davran\u0131\u015flar\u0131na m\u00fcdahale edebilirler. Eklenti geli\u015ftiricileri olarak, eklentinizin i\u015f ak\u0131\u015f\u0131n\u0131n \u00e7e\u015fitli noktalar\u0131na eylemler ekleyerek, di\u011fer geli\u015ftiricilerin bu noktalarda \u00f6zel kod \u00e7al\u0131\u015ft\u0131rmas\u0131na olanak tan\u0131yabilirsiniz. \u00d6rne\u011fin, eklentiniz bir form i\u015fliyorsa, form ba\u015far\u0131yla g\u00f6nderildikten sonra bir &#8220;form_basarili_gonderildi&#8221; eylemi tetikleyebilirsiniz. * **Filtreler (Filters):** Verilerin i\u015flenmesi s\u0131ras\u0131nda belirli noktalarda m\u00fcdahale etme ve bu verileri de\u011fi\u015ftirme imkan\u0131 sunar. Eklentiler, <code>add_filter()<\/code> fonksiyonunu kullanarak belirli filtre kancalar\u0131na kendi fonksiyonlar\u0131n\u0131 ba\u011flayabilir ve b\u00f6ylece WordPress&#8217;in veya di\u011fer eklentilerin verilerini (\u00f6rne\u011fin, g\u00f6nderi i\u00e7eri\u011fi, ba\u015fl\u0131k, meta veriler) de\u011fi\u015ftirebilirler. Eklentinizde i\u015fledi\u011finiz verileri (\u00f6rne\u011fin, bir \u00e7\u0131kt\u0131 olu\u015fturmadan \u00f6nce) filtre kancalar\u0131 arac\u0131l\u0131\u011f\u0131yla di\u011fer geli\u015ftiricilerin de\u011fi\u015ftirebilmesine olanak tan\u0131mak, eklentinizin farkl\u0131 senaryolara uyarlanabilirli\u011fini art\u0131r\u0131r. **2. Nesne Y\u00f6nelimli Programlama (OOP):** Eklenti geli\u015ftirirken OOP prensiplerini benimsemek, kodun daha d\u00fczenli, mod\u00fcler ve geni\u015fletilebilir olmas\u0131n\u0131 sa\u011flar. S\u0131n\u0131flar ve nesneler kullanarak eklentinizin farkl\u0131 i\u015flevlerini birbirinden ay\u0131rabilir, bu s\u0131n\u0131flar\u0131 miras alarak veya kompozisyon kullanarak yeni \u00f6zellikler ekleyebilirsiniz. \u0130yi tasarlanm\u0131\u015f s\u0131n\u0131flar, eklentinizin farkl\u0131 b\u00f6l\u00fcmlerinin birbirine s\u0131k\u0131 s\u0131k\u0131ya ba\u011fl\u0131 olmas\u0131n\u0131 engeller ve gelecekteki de\u011fi\u015fikliklerin daha kolay yap\u0131labilmesine olanak tan\u0131r. **3. Soyutlama ve Aray\u00fczler:** Eklentinizin farkl\u0131 bile\u015fenleri aras\u0131ndaki ba\u011f\u0131ml\u0131l\u0131\u011f\u0131 azaltmak i\u00e7in soyutlama ve aray\u00fczler kullanabilirsiniz. Aray\u00fczler, belirli bir s\u0131n\u0131f\u0131n hangi metotlar\u0131 uygulamas\u0131 gerekti\u011fini tan\u0131mlar. Bu sayede, farkl\u0131 implementasyonlara sahip bile\u015fenler ayn\u0131 aray\u00fcz\u00fc uygulayarak birbirleriyle uyumlu bir \u015fekilde \u00e7al\u0131\u015fabilirler. Bu yakla\u015f\u0131m, eklentinizin farkl\u0131 veritaban\u0131 sistemleriyle, harici API&#8217;lerle veya di\u011fer servislerle entegrasyonunu kolayla\u015ft\u0131r\u0131r. **4. Ayar ve Se\u00e7enekler API&#8217;si:** Eklentinizin davran\u0131\u015f\u0131n\u0131 \u00f6zelle\u015ftirmek i\u00e7in WordPress&#8217;in Ayar ve Se\u00e7enekler API&#8217;sini (Settings API) kullanmak, kullan\u0131c\u0131lar\u0131n eklentinizin farkl\u0131 y\u00f6nlerini kolayca yap\u0131land\u0131rmas\u0131na olanak tan\u0131r. Bu API, ayar sayfalar\u0131n\u0131n olu\u015fturulmas\u0131n\u0131, verilerin g\u00fcvenli bir \u015fekilde saklanmas\u0131n\u0131 ve y\u00f6netilmesini sa\u011flar. \u0130yi tan\u0131mlanm\u0131\u015f ayar se\u00e7enekleri, eklentinizin farkl\u0131 kullan\u0131m senaryolar\u0131na adapte olmas\u0131n\u0131 kolayla\u015ft\u0131r\u0131r ve di\u011fer geli\u015ftiricilerin eklentinizin davran\u0131\u015f\u0131n\u0131 kendi ihtiya\u00e7lar\u0131na g\u00f6re ayarlamas\u0131na imkan tan\u0131r. **5. Belgeleme (Documentation):** Geni\u015fletilebilir bir eklentinin en \u00f6nemli unsurlar\u0131ndan biri de kapsaml\u0131 ve anla\u015f\u0131l\u0131r bir belgelemedir. Eklentinizin kancalar\u0131n\u0131, s\u0131n\u0131flar\u0131n\u0131, metotlar\u0131n\u0131 ve ayar se\u00e7eneklerini detayl\u0131 bir \u015fekilde a\u00e7\u0131klayan bir belgeleme, di\u011fer geli\u015ftiricilerin eklentinizi nas\u0131l geni\u015fletebileceklerini anlamalar\u0131na yard\u0131mc\u0131 olur. \u0130yi bir belgeleme, eklentinizin benimsenme oran\u0131n\u0131 art\u0131r\u0131r ve topluluk taraf\u0131ndan desteklenmesini kolayla\u015ft\u0131r\u0131r. **6. Standartlara Uygunluk:** WordPress kodlama standartlar\u0131na ve en iyi uygulamalar\u0131na uymak, eklentinizin di\u011fer eklentiler ve temalarla uyumlu bir \u015fekilde \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flar. Tutarl\u0131 bir kodlama stili, okunabilirli\u011fi art\u0131r\u0131r ve di\u011fer geli\u015ftiricilerin eklentinize katk\u0131da bulunmas\u0131n\u0131 kolayla\u015ft\u0131r\u0131r. **7. Mod\u00fcler Tasar\u0131m:** Eklentinizin i\u015flevlerini k\u00fc\u00e7\u00fck, ba\u011f\u0131ms\u0131z mod\u00fcllere ay\u0131rmak, her bir mod\u00fcl\u00fcn ayr\u0131 ayr\u0131 geli\u015ftirilmesini, test edilmesini ve geni\u015fletilmesini kolayla\u015ft\u0131r\u0131r. Mod\u00fcler bir tasar\u0131m, eklentinizin karma\u015f\u0131kl\u0131\u011f\u0131n\u0131 azalt\u0131r ve gelecekteki de\u011fi\u015fikliklerin daha az riskli olmas\u0131n\u0131 sa\u011flar. **8. S\u00fcrd\u00fcr\u00fclebilirlik ve Geriye D\u00f6n\u00fck Uyumluluk:** Eklentinizin gelecekteki s\u00fcr\u00fcmlerinde geriye d\u00f6n\u00fck uyumlulu\u011fu korumaya \u00f6zen g\u00f6stermek, mevcut kullan\u0131c\u0131lar\u0131n ve di\u011fer geli\u015ftiricilerin yapt\u0131\u011f\u0131 \u00f6zelle\u015ftirmelerin bozulmamas\u0131n\u0131 sa\u011flar. \u00d6nemli de\u011fi\u015fiklikler yapmadan \u00f6nce uyar\u0131lar yay\u0131nlamak ve kademeli ge\u00e7i\u015f stratejileri uygulamak, eklentinizin uzun \u00f6m\u00fcrl\u00fc olmas\u0131na katk\u0131da bulunur. **\u00d6rnek Senaryo:** Diyelim ki basit bir &#8220;Merhaba D\u00fcnya&#8221; eklentisi geli\u015ftiriyorsunuz ve bu eklentinin \u00e7\u0131kt\u0131s\u0131n\u0131 \u00f6zelle\u015ftirilebilir hale getirmek istiyorsunuz.<\/p><pre class=\"overflow-x-auto\"><code>php\n&lt;?php\n\/**\n * Plugin Name: Merhaba D&uuml;nya Eklentisi\n * Description: Basit bir &quot;Merhaba D&uuml;nya&quot; eklentisi.\n * Version: 1.0.0\n * Author: Sizin Ad\u0131n\u0131z\n *\/\n\nfunction merhaba_dunya_mesaj() {\n    $mesaj = apply_filters( &#039;merhaba_dunya_mesaji&#039;, &#039;Merhaba D&uuml;nya!&#039; );\n    echo &#039;&lt;p&gt;&#039; . esc_html( $mesaj ) . &#039;&lt;\/p&gt;&#039;;\n}\nadd_action( &#039;wp_footer&#039;, &#039;merhaba_dunya_mesaj&#039; );\n?&gt;<\/code><\/pre>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-cd00ff7 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"cd00ff7\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-10868a9\" data-id=\"10868a9\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-5eddea0 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"5eddea0\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-c38a1eb\" data-id=\"c38a1eb\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-a5b0572 elementor-widget elementor-widget-text-editor\" data-id=\"a5b0572\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Bu \u00f6rnekte, <code>merhaba_dunya_mesaj()<\/code> fonksiyonu &#8220;Merhaba D\u00fcnya!&#8221; mesaj\u0131n\u0131 ekrana yazd\u0131r\u0131r. Ancak, <code>apply_filters( 'merhaba_dunya_mesaji', 'Merhaba D\u00fcnya!' )<\/code> ifadesi sayesinde, di\u011fer geli\u015ftiriciler <code>merhaba_dunya_mesaji<\/code> filtresini kullanarak bu mesaj\u0131 de\u011fi\u015ftirebilirler. \u00d6rne\u011fin, ba\u015fka bir eklenti a\u015fa\u011f\u0131daki kodu kullanarak mesaj\u0131 &#8220;Selam Gezegen!&#8221; olarak de\u011fi\u015ftirebilir:\n\n<\/p><pre class=\"overflow-x-auto\"><code>php\n&lt;?php\nfunction ozel_merhaba_mesaji( $varsayilan_mesaj ) {\n    return 'Selam Gezegen!';\n}\nadd_filter( 'merhaba_dunya_mesaji', 'ozel_merhaba_mesaji' );\n?&gt;<\/code><\/pre><p>\n\nBu basit \u00f6rnek bile, bir eklentinin nas\u0131l kancalar arac\u0131l\u0131\u011f\u0131yla geni\u015fletilebilir hale getirilebilece\u011fini g\u00f6stermektedir.\n\n**Sonu\u00e7:**\n\nBir WordPress eklentisini geni\u015fletilebilir hale getirmek, sadece teknik bir gereklilik de\u011fil, ayn\u0131 zamanda eklentinin ba\u015far\u0131s\u0131 ve WordPress ekosistemine katk\u0131s\u0131 a\u00e7\u0131s\u0131ndan da kritik bir fakt\u00f6rd\u00fcr. Kanca sistemini etkin bir \u015fekilde kullanmak, OOP prensiplerini benimsemek, iyi bir belgeleme sunmak ve standartlara uygun kod yazmak, eklentinizin gelecekteki b\u00fcy\u00fcmesine ve di\u011fer geli\u015ftiricilerle i\u015fbirli\u011fine olanak tan\u0131r. Geni\u015fletilebilir bir eklenti, sadece mevcut sorunlar\u0131 \u00e7\u00f6zmekle kalmaz, ayn\u0131 zamanda gelecekteki yeniliklerin ve \u00f6zelle\u015ftirmelerin de \u00f6n\u00fcn\u00fc a\u00e7ar.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"<p>WordPress, esnek ve g\u00fc\u00e7l\u00fc yap\u0131s\u0131 sayesinde d\u00fcnya \u00fczerindeki web sitelerinin b\u00fcy\u00fck bir \u00e7o\u011funlu\u011fu taraf\u0131ndan tercih edilen bir i\u00e7erik y\u00f6netim sistemidir. Bu ba\u015far\u0131s\u0131n\u0131n \u00f6nemli bir nedeni de eklenti (plugin) mimarisidir. Eklentiler, WordPress \u00e7ekirdek i\u015flevselli\u011fini de\u011fi\u015ftirmeye veya yeni \u00f6zellikler eklemeye olanak tan\u0131r. Ancak, bir eklentinin ger\u00e7ekten ba\u015far\u0131l\u0131 olabilmesi i\u00e7in sadece mevcut ihtiya\u00e7lar\u0131 kar\u015f\u0131lamas\u0131 yeterli de\u011fildir; ayn\u0131 zamanda&#8230;<\/p>\n<p><a class=\"read-more\" href=\"https:\/\/ahmetersoy.net\/en\/bir-wordpress-eklentisi-nasil-genisletilebilir-hale-getirilir\/127\/\">Devam\u0131n\u0131 G\u00f6r<\/a><\/p>","protected":false},"author":1,"featured_media":1282,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12],"tags":[9,10,11],"class_list":["post-127","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-wordpress","tag-design","tag-plugin","tag-wordpress"],"_links":{"self":[{"href":"https:\/\/ahmetersoy.net\/en\/wp-json\/wp\/v2\/posts\/127","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ahmetersoy.net\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ahmetersoy.net\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ahmetersoy.net\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ahmetersoy.net\/en\/wp-json\/wp\/v2\/comments?post=127"}],"version-history":[{"count":0,"href":"https:\/\/ahmetersoy.net\/en\/wp-json\/wp\/v2\/posts\/127\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ahmetersoy.net\/en\/wp-json\/wp\/v2\/media\/1282"}],"wp:attachment":[{"href":"https:\/\/ahmetersoy.net\/en\/wp-json\/wp\/v2\/media?parent=127"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ahmetersoy.net\/en\/wp-json\/wp\/v2\/categories?post=127"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ahmetersoy.net\/en\/wp-json\/wp\/v2\/tags?post=127"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}