$my_post = array(
'post_title' => $baslik,
'post_name' => $link,
'post_content' => $metin,
'post_status' => 'publish',
'post_author' => 1,
'tax_input' => array( 'sair' => array( 'necip-fazil' ) ) ,
'tax_input' => array( 'siir_etiketi' => array( $etiket[0], $etiket[1], $etiket[2], $etiket[3], $etiket[4] ) ),
'post_type' => 'siir'
);
wp_insert_post($my_post);ek: ayrıca $etiket[0]dan 6ya kadar döndürüp boş veri hariç $etiket[6] ya kadar nasıl eklettirebilirim ?
Boş veri kaydını nasıl önleyebilirim
5
●522
- 08-04-2013, 01:31:10Kimlik doğrulama veya yönetimden onay bekliyor.explode ile parçaladığım verileri wordpress'te taxonomylere kayıt ettireceğim $etiket[0] $etiket[1] $etiket[2] $etiket[3] değişkenlerinin içerisi boş ise kayıt etmemesini nasıl sağlayabilirim ?
- 08-04-2013, 02:42:52Kimlik doğrulama veya yönetimden onay bekliyor.Birkaç farklı durum.
Değişken sayısı sabitse tek tek kontrol ettirirsin.
<?php if($etiket[0]=="" || $etiket[1]=="" .......){ // hata ver } else{ // işlem yap } ?>Değişken sayısı sabit değilse, bir döngü oluşturursun. Bir hata değişkeni belirlersin değeri başlangıçta sıfır olur. Döngü çalışır, boş veri gelirse bu hata değişkenini 1 yapar ve döngüyü durdurur. hata değişkeni 1den farklı olursa işlem yaptırmazsın, 1se yaptırırsın.
<?php $hata=1; foreach ($etiket as $etiketdizi){ if($etiketdizi==""){ $hata=0; break; } } if($hata!=1){ // hata ver } else{ // işlem yap } ?>
--R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 02:42:52 -->-> Daha önceki mesaj 01:43:23 --
Hocam şu satır var ya
$etiket=strip_tags($etiket[1]);
Bunun altına şunu yapabiliriz.
if(count($etiket)==0){ $etiket = array("etiketi","olmayan","yazıya","herhangi","bir ","etiket"); }Bunu o kodun altına yazarsanız, eğer verinizde herhangi bir etiket yoksa sizin belirleyeceğiniz etiketleri koyar. şunu sorayım. etiket yoksa ne yapmak istiyorsunuz? programı durdurmayı mı yoksa bahsettiğim gibi birşey yapmak size uyar mı? - 08-04-2013, 07:27:15Veri kaydından önce, dizideki boş elemanları silsek daha sağlıklı olur sanırım
$etiket = array('aslan','kaplan','hebele', 'hubele', 'galatasaray', '', ' '); $dizi = array(); foreach($etiket as $key=>$value){ $value = trim($value); if(!empty($value)){ $dizi[] = $value; } } print_r($etiket); echo '<br />'; print_r($dizi);Yukarıdaki kodun çıktısı :
Bu kodlardan dizimizdeki boş elemanların çıktığını görüyoruz. Ardından:Alıntı
$my_post = array( 'post_title' => $baslik, 'post_name' => $link, 'post_content' => $metin, 'post_status' => 'publish', 'post_author' => 1, 'tax_input' => array( 'sair' => array( 'necip-fazil' ) ) , 'tax_input' => array( 'siir_etiketi' => $dizi), 'post_type' => 'siir' ); wp_insert_post($my_post);dediğimizde, boş elemanlar yazılmamış olur. - 09-04-2013, 10:10:23
if( ($baslik=="") or ($link=="") or ($metin=="") ) // burada zorunlu yaptık. { echo "boş veri var,olmaz"; } else { $my_post = array( 'post_title' => $baslik, 'post_name' => $link, 'post_content' => $metin, 'post_status' => 'publish', 'post_author' => 1, 'tax_input' => array( 'sair' => array( 'necip-fazil' ) ) , 'tax_input' => array( 'siir_etiketi' => array( $etiket[0], $etiket[1], $etiket[2], $etiket[3], $etiket[4] ) ), 'post_type' => 'siir' ); wp_insert_post($my_post); } ; .... ...şeklinde yapabilirsiniz.