Hocam peki örneğin makale içeriğinde "İstanbul" kelimesi geçen tüm makalelerde makale içeriğini nasıl boşaltabilirim.
Aşağıdaki kodları açıklama satırlarını dikkate alarak herhangi boş bir php dosyasına yapıştırın ve wordpress sitenizin bulunduğu hosta atın. Dosyayı çalıştırdıktan sonra otomatik işlem yapacaktır. (Güvenliğiniz için işlem bittikten sonra dosyayı silin, bu konuda hiç bir sorumluluk kabul etmeyeceğimi bilmenizi isterim.)
Kodlar işlem için anında yazılmıştır, test edilmemiştir vegüvenlik önlemi yoktur.
error_reporting(0);
try {
$connect = new PDO("mysql:host=localhost;dbname=wordpress_dbname", "wordpress_dbuser", "wordpress_dbpass");
$connect->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch ( PDOException $e ){
print $e->getMessage();
}
$connect->query("SET CHARACTER SET utf8"); // UTF-8 KARAKTER DESTEĞİ
$sor=$connect->query("SELECT wp_posts,ID FROM post_content"); // Veritabanındaki ön ekiniz farklı ise wp_posts 'u onekiniz_posts yapınız
$diz=while($sor->fetch(PDO:: FETCH_ASSOC)){
$content=$diz['post_content'];
$post_id=$diz['ID'];
if(stristr($content, "istanbul")){
$update_hazirla=$connect->prepare("UPDATE wp_posts SET post_content=:post_content WHERE ID='$post_id'"); // Veritabanındaki ön ekiniz farklı ise wp_posts 'u onekiniz_posts yapınız.
$update=$update_hazirla->execute(array("post_content"=>""));
if($update){
$message="içinde istanbul kelimesi geçen postların içeriği temizlendi";
}else{
$message="içinde istanbul kelimesi geçen postların içeriği temizlenirken bir hata meydana geldi!";
}
}else{
$message="İçinde İstanbul geçen post bulunamadı";
}
}
echo $message;
?>