WordPress REST API’sine Giriş

  • Anasayfa
  • WordPress REST API’sine Giriş

WordPress REST API, geliştiricilerin WordPress verilerine dış uygulamalardan erişebilmelerini sağlayan bir kural ve kural kümesidir. Geliştiriciler, postlar, sayfalar, kullanıcılar ve daha fazlası gibi WordPress verilerini oluşturarak, okuyarak, güncelleyerek ve silerek WordPress’e özel entegrasyonlar oluşturabilir.

WordPress REST API, WordPress çekirdeğinin üzerine inşa edilmiştir ve aynı kodlama standartlarını ve kural kümesini takip eder. Bu, WordPress kod tabanını tanıyan WordPress geliştiricileri için kolay kullanım sağlar.

WordPress REST API’si İle Yazı Gönderin

WordPress REST API’yi kullanmak için, uygun son noktalara sahip olan WordPress siteye HTTP istekleri yapmanız gerekir. Her son nokta, postlar, sayfalar, kullanıcılar vb. gibi belirli bir WordPress kaynağına karşılık gelir. Örneğin, WordPress REST API kullanarak yeni bir post oluşturmak için, /wp/v2/posts son noktasına bir POST isteği yaparsınız ve gerekli verileri istek gövdesinde geçersiniz. Benzer şekilde, varolan bir postu güncellemek için, aynı son noktaya bir PUT isteği yaparsınız ve güncellenen verileri istek gövdesinde geçersiniz.

Bu metinde, WordPress REST API kullanarak nasıl yeni bir post oluşturacağınız hakkında bir örnek bulacaksınız.

Bu kod, /wp/v2/posts son noktasına bir HTTP POST isteği yapar ve post başlığı, içeriği ve durumunu istek gövdesinde geçer. İstek başarılı ise, yeni oluşturulan postun başlığını çıktılar.

WordPress REST API’si İle Yazı Bilgileri Alın

WordPress REST API kullanarak bir postu almak için, /wp/v2/posts/{id} son noktasına bir GET isteği yapmanız gerekir, {id} almak istediğiniz postun kimliğidir. İstek post verilerini içeren bir JSON nesnesi döndürür, bunu sonra uygulamanızda ayrıştırabilir ve kullanabilirsiniz.

Bu metinde, WordPress REST API kullanarak nasıl bir post alacağınız hakkında bir örnek bulacaksınız.

Bu kod, /wp/v2/posts/123 son noktasına bir HTTP GET isteği yapar, 123 almak istediğiniz postun kimliğidir. İstek başarılı ise, postun başlığını çıktılar.

Post kimliği ile birlikte, isteğe filtreleme ve postların dönüşünü sıralama için diğer parametreler de belirtebilirsiniz. Örneğin, per_page parametresini kullanarak alınacak postların sayısını belirtebilir veya orderby parametresini kullanarak postların sıralanması için kullanılacak alanı belirtebilirsiniz.

Kullanabileceğiniz tüm parametreler ve bunları nasıl kullanacağınız hakkında detaylı bilgi için WordPress REST API belgelerine bakabilirsiniz. Belgeler API tarafından döndürülen postları filtrelemek ve sıralamak için kullanabileceğiniz tüm parametreler ve bunları nasıl kullanacağınız hakkında ayrıntılı bilgiler içerir.

Gelişmiş Kullanım: Özel Bir Uç Nokta Oluşturun

WordPress REST API ile özel bir son nokta oluşturmak için, WP_REST_Controller sınıfını genişleterek WordPress API ile kaydettirmeniz gereken yeni bir sınıf oluşturmanız gerekir. Yeni sınıf, özel son noktanız için rotaları ve yöntemleri tanımlamalı ve her yöntem için istek ve yanıtları işlemelidir.

Bu metinde, kullanıcıların belirli bir yazara ait postların listesini almalarına izin veren özel bir son nokta oluşturmanın nasıl yapılacağına dair bir örnek bulacaksınız.

Bu kod, Posts_By_Author_Controller sınıfını WordPress API ile kaydeder ve sınıfın tanımladığı rotalar ve yöntemler API tarafından kullanılmak üzere kullanılabilir hale getirir.

Özel son noktayı kullanmak için, /wp/v2/posts/by_author/{author_id} son noktasına bir HTTP GET isteği yapabilirsiniz, {author_id} almak istediğiniz yazarın kimliğidir. İstek, belirtilen yazara ait postları içeren bir JSON nesnesi döndürür.

WordPress REST API ile özel son noktaları nasıl oluşturacağınız hakkında daha fazla bilgi için, resmi WordPress REST API belgelerine bakabilirsiniz. Belgeler, nasıl oluşturulacağını, kaydedileceğini ve kullanılacağını içeren detaylı örnekler ve açıklamalar içerir.

Sonuç

WordPress REST API güçlü bir araçtır. Geliştiriciler, WordPress’in temel işlevselliklerine erişerek ve veriyi oluşturup değiştirerek, veriyi alarak ve işlem yaparak, tüm HTTP istekleri aracılığıyla özel entegrasyonlar ve uygulamalar oluşturabilir. WordPress’i dış sistemler ve hizmetlerle entegre etmeye ve yeni ve yaratıcı yollarla etkileşim kurmaya olanak tanır.

Bu, WordPress’i özel uygulamalar, widgetler, entegrasyonlar ve diğer dış uygulamalarla etkileşim kurabilecek şekilde genişletmenizi sağlar. Örneğin, mobil bir uygulama oluşturabilirsiniz ve kullanıcıların sitelerini yönetmelerine, istatistiklerini veya analitiklerini kontrol etmelerine veya hatta mobil cihazlarından yazıları oluşturmalarına ve düzenlemelerine izin verin.

Aynı zamanda, geliştiriciler, WordPress verilerini özel analitik panoları, web sitesi sohbet robotları, e-ticaret entegrasyonları, sosyal medya entegrasyonları ve daha fazlasını oluşturmak için kullanabilir.

REST API’nin kullanımının web geliştirme prensipleri hakkında belirli bir anlayış gerektirdiğini unutmamak önemlidir, özellikle HTTP istekleri, REST kavramları ve JSON verileriyle etkileşim konusunda. Bu nedenle, web geliştirme deneyimi veya bilgisi olanların bu konuda başlaması önerilir.

Ancak resmi belgeler, bu konuda başlamak ve daha fazla bilgi edinmek için harika bir kaynaktır. İstekleri nasıl yetkilendireceğinizi, farklı son noktaları nasıl kullanacağınızı, istekleri ve yanıtları nasıl yapılandıracağınızı ve kendi özel çözümünüz için başlangıç noktası olarak kullanabileceğiniz örnek kodları içerir.

 'My new post',
  'content' => 'This is the content of my new post.',
  'status' => 'publish',
);

// HTTP isteğini yap
$response = wp_remote_request($endpoint, array(
  'method' => $method,
  'body' => $body,
));

// Yanıtı kontrol edin ve hataları işleyin
if (is_wp_error($response)) {
  // İstek yapılırken bir hata oluştu
  echo 'Error: ' . $response->get_error_message();
} else {
  // İstek başarılı oldu
  $response_body = json_decode($response['body'], true);
  echo 'Post created: ' . $response_body['title']['rendered'];
}

 

\d+)';
    $args = array(
      'methods' => 'GET',
      'callback' => array($this, 'get_posts_by_author'),
    );
    register_rest_route('my-plugin/v1', $route, $args);
  }

  // Uç nokta için istek ve yanıtı işleyen yöntemi tanımlayın
  public function get_posts_by_author($request) {
    $author_id = (int) $request['author_id'];

    // Belirtilen yazarın gönderileri için veritabanını sorgula
    $posts = get_posts(array(
      'author' => $author_id,
    ));

    // Gönderileri bir JSON nesnesi olarak döndür
    $response = new WP_REST_Response($posts);
    $response->set_status(200);
    return $response;
  }
}

// Özel uç noktayı WordPress API ile kaydedin
add_action('rest_api_init', function() {
  $controller = new Posts_By_Author_Controller();
  $controller->register_routes();
});
 $method,
));

// Yanıtı kontrol edin ve hataları işleyin
if (is_wp_error($response)) {
  // İstek yapılırken bir hata oluştu
  echo 'Error: ' . $response->get_error_message();
} else {
  // İstek başarılı oldu
  $response_body = json_decode($response['body'], true);
  echo 'Post retrieved: ' . $response_body['title']['rendered'];
}