Wordpress, Rest Api İle Konu Nasıl Eklenir ?

wordpress rest api ile konu ekleme

Bu dersimizde javascript kullanarak rest api ile wordpress'te konu nasıl eklenir. bunun anlatımını yapacağız.

Öncelik temaya özel bir sayfa oluşturun önceki makalemizde zaten bunu anlatmıştık bu linkten makaleye ulaşabilirsiniz. kısaca özet geçmek gerekirse kullandığınız tema dosyasının içinde sayfa.php adında bir dosya oluşturun ve içine şu kodları yazın

<?php 

/**

Template Name: sayfa

*/ 
  get_header();

?>
  
<?php 

get_footer();
?>
bunu yaptıktan sonra yönetim panelinde bir sayfa oluşturun ve yandaki şablon bölümünde sayfa ismini görücekseniz. bunu seçin ve kaydedin.  bide kullandığınız tema dosyasının içinde js klasorü oluşturun bu klasorun içindede setting.js adında bir dosya oluşturun bu dosyayıda wordpress'e dahil etmek için aşağıdaki kodları functions.php dosyasına yağıştırın.
 function _js()
 {
    wp_enqueue_script('js', get_template_directory_uri() . '/js/setting.js',null,1.0,true);
 }

 add_action('wp_enqueue_scripts','_js');
 Şimdi bir forum oluşturuyoruz sayfa.php dosyamızda aşağıda oluşturduk..
<div class="konu_ekle">
           <h2>Konu Ekle</h2>
           <input type="text" name="title" placeholder="başlık"> <br> <br>
           <textarea name="content" placeholder="İçerik" cols="80" rows="10"></textarea> <br> <br>
           <button id="btn">Gönder</button>
   </div> 
script kodlarınıda setting.js dosyasının içine yapıştırıyoruz..
var btn = document.querySelector('#btn');

  if(btn){

      btn.addEventListener('click',function(){

              var post = {
                      'title': document.querySelector('.konu_ekle [name="title"]').value,
                      'content': document.querySelector('.konu_ekle [name="content"]').value,
                      'status': "publish"
              }

        var ajax = new XMLHttpRequest();
        ajax.open('POST', 'http://localhost/wp-json/wp/v2/posts');
        ajax.setRequestHeader('X-WP-Nonce', token.nonce);
        ajax.setRequestHeader("Content-Type",'application/json;charset=UTF-8');
        ajax.send(JSON.stringify(post));
      });

  }

 
 burda bide token oluşturmamız gerekli functions.php dosyasına eklediğimiz js fonksiyonun içine token kodlarınıda ekliyoruz son hali bu şekilde..
 function _js()
 {
    wp_enqueue_script('js', get_template_directory_uri() . '/js/setting.js',null,1.0,true);

    wp_localize_script('js','token',array(
      'nonce' => wp_create_nonce('wp_rest')  
    ));

 }

 add_action('wp_enqueue_scripts','_js');
bunuda ekledğiniz zaman kodlar çalışacaktır.. tabi uye girişi yapmanız gereklidir.. eğer kontrol etmek isterseniz. yani bir hata olduğunda sonuç duğru girildiğinde aşağıdaki kodları kullanabilirsiniz. 
 ajax.onreadystatechange = function(){
             if(ajax.readyState == 4){

    if(ajax.status == 201){

   document.querySelector('.konu_ekle [name="title"]').value = '';
               document.querySelector('.konu_ekle [name="content"]').value = '';

   } else {

    alert('hata');

     }

   }
  }
konu başarı ile gönderildiyse 201 değerini döndürür burada istediğiniz yazıyı yazdırabilirsiniz. benim anlatacaklarım bu kadardı daha fazla detaylı bilgiyi aşağıda videomuzdan izleyebilirsiniz. herkese kolay gelsin





Yorumlar

  1. Woocommerce rest api ile entegrasyon konusunda yardıımınıza ihtiyacım var. Lütfen yardımcı olurmusun bana? Size ulaşmam lazım . Tıksndım kaldım ortada. Pazar yeri entegrasyon yapmaya çalşıyorum sitemdeki ürünleri trendyol n11vb mağazalara otomatik çeksin satış yapılırsa sitemdeki stoğuda güncellesin gibi özellikler varmış ama yapamadım. Yabancı sitelerde anlatılıyor ama güvenemedim size ulaşmama olanak sağlarssnız çok sevinirim

    YanıtlaSil
    Yanıtlar
    1. çok kapsamlı bir konu kardeş bunla çokta alakası yok

      Sil

Yorum Gönder

Popular

Twitch Kanalınıza CHAT Paneli koymak Kolay Anlatım

OBS SAHNE GEÇİŞLERİNDE KASMA SORUNUNA KESİN ÇÖZÜM

PHP DERSLERİ 51 MYSQL'DE FOREİGN KEY KULLANIMI