Kendim düne kadar başka bi hali ile kullanıyordum fakat @dev nickli kullanıcının yardımıyla da ufak sorunu da ortadan kaldırdık. Dilediğiniz gibi kullanıp geliştirebilirsiniz.
Yapmanız gerkenleri adım adım yazıyorum.
1. aşama
- wp-admin
- wp-content
- wp-includes
klasörlerinin bulunduğu dizine "cache" adında bir klasör oluşturup chmod değerini 777 olarak verin.
2. aşama
Yukarıdaki adımları gerçekleştirden sonra tema dizinine gidiyoruz. O dizinde bulunan single.php dosyasını açıp aşağıdaki kodu <?php get_header()?> kodunun hemen üstüne ekleyin.
<?php
$url = md5($_SERVER['REQUEST_URI']).".cache";
$adres = "cache/".$url;
$zaman = 15 * 24 * 60 * 60;
if (file_exists($adres)) {
if(time() - $zaman < filemtime($adres)) {
readfile($adres);
exit;
}else {
unlink($adres);
} }
ob_start();
?>daha sonra en altta bulunan <?php get_footer()?> kodunun hemen altına da aşağıdaki kodu ekleyip dosyayı kapatabilirsiniz.<?php $dosya = fopen($adres, 'w+'); fwrite($dosya, ob_get_contents()); fclose($dosya); ob_end_flush(); ?>tüm bu adımları yaptığınızda cache aktif olmuş olmalı. bunu kontrol etmek için sayfayı yenileyebilirsiniz. Ama aktif olup olmadığından tam emin olmak için anadizinde bulunan "cache" klasörünün içine bakabilirsiniz.
Şimdi gelelim cache temizleme işine.
- wp-admin
- wp-content
- wp-includes
- cache
klasörlerinin bulunduğu dizine cachesil.php adında bir dosya oluşturup aşağıdaki kodu içerisine yerleştirip kaydedin.
cachesil.php
<?php
function sayibul($klasor) {
$dizi = array(); // dizi oluştur
$open = opendir($klasor); // klasör aç
while($q=readdir($open)) {
if ($q != "." && $q != "..") {
$dizi[] = $q;
}
}
$sayi = count($dizi); // dosya sayısı
closedir($open); // klasörü kapat
return $sayi; // sayıyı çıktı olarak al
}
?>
<!DOCTYPE html>
<html lang="tr">
<head>
<meta charset="utf-8" />
<title>oksimoron wordpress cache sistemi</title>
<style type="text/css">
body{background-color:#fff;}
ul{display:block}
li{font-family:"Lucida Grande";font-size:15px;color:#333;}
.silindi {}
</style>
</head>
<body>
<div style="font-size:17px;font-family:Arial;color:#333;">İşlem: <span style="font-weight:bold;color:red;"><a href="<?php $uzanti = $_SERVER['REQUEST_URI']; echo $uzanti; ?>?temizle=tamam">Cache Sil</a></span> // Toplam: <span style="font-weight:bold;color:green;"><?php echo sayibul("cache"); ?></span> cache edilmiş sayfa bulundu.</div>
<hr />
<?php
@set_time_limit(0);
$sildim = $_GET["temizle"];
if($sildim == "tamam") {
$oku = opendir("cache");
while ($sonuc = readdir($oku))
{
$sonuck = explode(".",$sonuc);
$sonuck = end($sonuck);
if($sonuck == "cache"){
unlink("cache/".$sonuc);
}
}
echo '<p style="font-size:24px;color:green;font-weight:bold;">Cache başarıyla boşaltıldı! <span style="color:#333;"><a href="#" onclick="history.back();">Geri dön!</a></span></p>';
}
?>
</body>
</html>Son olarak https://www.r10.net/cachesil.php şeklinde tarayıcıya yazdığınızda karşısınızda cachelenmiş sayfa sayısı verilecektir. Tek seferde cache temizlemek içinde "Cache Sil" butonuna tıklamanız yeterli olacaktır.Not: Bu konu hiç bir şey vaadetmez. Denersiniz, hoşunuza gider ve işinize yararsa kullanırsınız. Beğenmezseniz kullanmazsınız. Ben denedim. Kullanıyorum ve memnunum. Herkes faydalansın diye paylaşıyorum. Birbirimizi üzmenin manası yok.
Not2: cache klasörüne chmod 777 değerini vermeyi unutmayın.
Not3: single.php'deki bu işlemler diğer dosyalar içinde kullanılabilir. (örnek: index.php, category.php, tag.php gibi)
Not4: Kullanıp da faydasını gören arkadaşlar konu altına yazarlarsa sevinirim ki en azından kullanmakta tereddüt eden arkadaşlar için bir fikir oluşur.
Eğer öyle olsaydı daha fazla ilgi olurdu herhalde.