Flutter & Dart ve WordPress API beraber nasıl kullanılır bahsedeceğim bu yazıda wordpress_client kütüphanesinden faydalanarak bir WordPress yazısı nasıl oluşturulur göreceğiz.
Öncelikle yazacağım kod bir Dart console application olacak. Fakat wordpress_client kütüphanesini hem Dart uygulamalarınızda hem de Flutter uygulamalarında kullanabilirsiniz.
Hazırlık
Yazacağımız ufak script için öncelikle WordPress tarafını hazırlamamız gerekiyor. Basic Auth eklentisini kurarak websitemize kolaylıkla Authentication yapılabilmesini sağlamalıyız.
Kod yazım aşaması
Projemiz içerisine wordpress_client ekleyerek başlayalım.
import 'package:wordpress_client/wordpress_client.dart';
Daha sonrasında BasicAuth objemizi oluşturalım.
BasicAuth auth = BasicAuth('username', 'password'); // e.g. admin, 12345678
Yukarıda oluşturduğumuz BasicAuth objesiyle beraber bir WordPressClient objesi oluşturalım.
WordPressClient client = WordPressClient(
'https://www.websiteadresiniz.com/wp-json',
'wp/v2',
bootstrapper: (bootstrapper) {
return bootstrapper
.withDefaultAuthorization(auth)
.withCookies(true)
.build();
},
);
Bu client objesi sayesinde WordPress ile oluşturduğumuz websitesinde istediğimiz değişikliği yapabileceğiz. Kategori oluşturabilir, yorum ekleyebilir, kullanıcı oluşturabilir ve daha birçok şeyi yapabiliriz. Basit bir yazı oluşturma kodunu aşağıda paylaşacağım.
ResponseContainer container = await client.createPost((builder) {
return builder
.withAuthor(1) // 1-> admin
.withStatus(ContentStatus.DRAFT) // Taslak
.withTitle(f.querySelector('#title')!.text) // Baslik
.withSlug(
f.querySelector('#title')!.text.replaceAll(RegExp(r' '), '-')) // Yazi uzantisi
.withContent(temporary.toString()) // İcerik
.withEndpoint('posts') // Zorunlu
.withAuthorization(auth) // Zorunlu
.build();
});
Örneğin, web scraper kullanarak bir websitesinin içeriğini elde ettiğimizi düşünelim. Bu websitesindeki içeriği de kendi websitenize taşımak istiyorsunuz. Yukarıdaki kod parçasıyla çektiğiniz içeriği taslak olarak kaydedebilir ve daha sonrasında kolaylıkla görseller ekleyebilirsiniz.
En son işimiz bittiğinde de BasicAuth eklentisini devre dışı bırakmayı unutmayalım. 🙂 Basic Auth gibi eklentiler WordPress sitelerini saldırılara karşı güvensiz hale getirir bu yüzden yalnızca test ortamlarında veya geliştirme ortamlarında kullanılmalıdır.
Okuyucuya Not
Merhaba okuyucu! Blogum son zamanlarda yüksek trafik almaya başladı ve bu durumdan memnunum fakat aynı zamanda siz ziyaretçileri tatmin edememekten endişeliyim. 🙂 Eğer yazılarım ile ilgili bir tavsiyeniz olursa mail adresimden bana ulaşabilir veya Twitter üzerinden direct message gönderebilirsiniz. Github’ta örnek olarak yaptığım projelere göz atmak isterseniz de bu linki kullanabilirsiniz. Umarım bu ziyaretinizle size bir şeyler katabilmişimdir.
Sağlıcakla kalın!