• WordPress'te geçmiş (revizyon) işlevini değiştirme: onunla nasıl çalışılacağı. Eski revizyonları silin ve Wordpress veritabanında yer açın Wordpress revizyonları

    Varsayılan olarak, WordPress, düzenleme sırasında ara kayıtlar sırasında yazıların ve makalelerin tüm revizyonlarını kaydeder. Revizyonların yanı sıra başka bilgiler de veritabanında saklanabilir: bunların meta verileri ve sınıflandırması. Küçük bir site üzerinde olumsuz bir etki yaratmaları pek olası değildir, ancak zamanla veritabanı büyüyecek ve içindeki revizyonlar, yayınlanan sayfalardan ve kayıtlardan çok daha fazla hacim kaplayacaktır.

    Revizyonları devre dışı bırakıp eski revizyonları silmeden önce sitenizin dosyalarını ve veritabanını yedeklemeyi unutmayın.

    Revizyonları devre dışı bırakma veya sınırlama

    Yazıların ve sayfaların revizyonlarının WordPress site veritabanına kaydedilmesi devre dışı bırakılabilir veya sınırlandırılabilir. Bunu yapmak için dosyayı açmanız gerekir wp-config.php ve revizyonların kaydedilmesini tamamen devre dışı bırakmak için şu satırı ekleyin:

    Define("WP_POST_REVISIONS", false);

    Sakladığınız düzeltme sayısını sınırlamak için eklediğiniz satırı kelimeyle değiştirin. YANLIŞ tutulması istenen revizyon sayısına karşılık gelen bir sayı ile. Örneğin, 3 revizyonu kaydetmek için eklenen satır şu şekilde görünecektir:

    Define("WP_POST_REVISIONS", 3);

    Sayı 0 bu ifadede anahtar kelimeyle eşleşecek YANLIŞ.

    Eklenen satırın wp-config.php dosyasında şu satırdan sonra yerleştirilmesi gerektiğini unutmayın:

    Define("WP_DEBUG", false);

    ve satırdan önce:

    Bunu ekledim:

    Define("WP_DEBUG", false); /* Düzeltme sayısını iptal edin veya sınırlayın */ define("WP_POST_REVISIONS", false); /* İşte bu kadar, başka düzenlemeye gerek yok. İyi şanlar! */

    Tüm eski revizyonların kaldırılması

    Revizyonları kaydetmeyi hemen kapatmadıysanız, zaten oldukça fazla sayıda olabilir ve dilerseniz eski revizyonlar silinebilir. Bunu yapmak için phpMyAdmin uygulamasına girmeniz, veritabanını seçmeniz ve SQL sekmesine gitmeniz gerekir:

    Bir WordPress sitesinin veritabanındaki tüm revizyonları silmeden önce, varsa meta verilerini ve sınıflandırmasını silmelisiniz. Aşağıdaki üç komutu sırasıyla kopyalayıp giriş alanına yapıştırın ve "İleri" düğmesine tıklayın. WordPress kurulumu sırasında veritabanı tablolarınız için “wp_” dışında bir önek belirttiyseniz aşağıdaki komutlarda “wp_” yerine kendi önekinizi koyun.

    Meta verileri kaldırma

    Wp_postmeta'dan DELETE FROM WHERE post_id IN (wp_posts'tan ID SEÇİN WHERE post_type = "revision" AND post_name LIKE "%revision%");

    ve "İleri" düğmesine basın.

    Bir sınıflandırmayı silme

    Aşağıdaki satırı kopyalayıp SQL sorgusu giriş alanına yapıştırın:

    Wp_term_relationships'ten DELETE FROM WHERE object_id IN (wp_posts'tan ID SEÇİN WHERE post_type = "revision" AND post_name LIKE "%revision%");

    ve "İleri" düğmesine basın.

    Tüm düzeltmelerin kaldırılması

    Aşağıdaki satırı kopyalayıp SQL sorgusu giriş alanına yapıştırın:

    wp_posts'DAN SİLİN WHERE post_type = "revizyon" VE post_name LIKE "%revision%";

    ve "İleri" düğmesine basın.

    Her komutu yürüttükten sonra bilgi penceresinde veritabanından kaç satırın silindiğini göreceksiniz.

    Başka bir WordPress sitesi oluşturduktan sonra, ilk yazıdaki çalışmayı neredeyse bitirdiğimde revizyonları hatırladım. Kaldırıldığında aşağıdaki sonuçlar elde edilir:

    • meta veriler - 0 satır kaldırıldı;
    • sınıflandırma - 0 satır kaldırıldı;
    • revizyonlar - 33 satır kaldırıldı.

    Henüz bitmemiş bir girdiyi düzenlerken ihtiyacım olmayan 33 revizyon oluşturuldu. Revizyonla ilgili meta veriler ve sınıflandırma oluşturulmamıştır.

    Herkese merhaba, sitenin sevgili okuyucuları. Çok uzun zaman önce temayı wordpress'te analiz ettik. Ancak geçen gün bu makaleye başka bir yol eklemek zorunda kaldım. Bu çipi bilmiyorsanız, uzun süredir blog yazdığınızda son derece etkilidir.

    Bu sözde revizyonlar veya diğer bir deyişle sürümler, wordpress cms'nin eski sürümlerinden beri mevcuttur.

    Post revizyonları neden gerekli?

    Gönderilerin ve sayfaların revizyonlarına yalnızca teoride ihtiyaç vardır. Gerçek şu ki, makalenizin yedek bir kopyasını veritabanına kaydediyorlar. Üstelik her değişikliğinizde kaydetme gerçekleşir.

    Bir makale yazma sürecinde "Kaydet" düğmesini tıkladığınızda, değişikliklerinizi içeren makalenizin bir kopyasını oluşturduğunuz ortaya çıktı. Ve istediğiniz zaman bu kopyaların listesini görüntüleyebilir ve en uygun olanı seçip geri yükleyebilirsiniz.

    Tüm uygulamalarımda, bu tür rezervlerden bir kopyayı yalnızca bir kez geri yüklemek zorunda kaldım. Ama yine de.

    İlk bakışta bu çok kullanışlı bir özellik gibi görünüyor. Ancak, bu tür her kaydetmenin veritabanına ekstra bir yük getirdiği anlaşılmalıdır, çünkü. tüm kopyalar içinde saklanır.

    İşte hayattan bir örnek. Blogumdaki her makalenin ortalama 4-5 revizyonu vardı. Yazılmış yüzlerce makaleniz ve belki de binlerce makaleniz olduğunu düşünün - gönderilerin revizyonlarını (baskılarını) silerek - blogunuzu 5 kat hızlandıracaksınız.

    Peki ya 5 basımınız yoksa her yazı için 10 basımınız varsa? Bu arada, bir sırrın yoksa ne kadarın var? Bunun hakkında yorumlara yazın lütfen.

    Bu arada en ilginci “Kaydet” butonuna dahi basmadığınızda yazı revizyonlarınız otomatik olarak oluşturuluyor. Buna otomatik kaydetme denir.

    Gönderi revizyonlarının sayısını nasıl sınırlayabilirim?

    Tüm revizyonların veritabanında saklandığını zaten biliyoruz. Numaralarını değiştirmek için wp_revisions_to_keep adı verilen standart bir "filtreye" veya wp-config.php dosyasındaki WP_POST_REVISIONS direktifini kullanmamız gerekir.

    Bu arada, bazı nedenlerden dolayı wp-config dosyasındaki yönerge bende işe yaramadı. WordPress'in yeni sürümlerinde kimin için çalıştığını yazın?

    Diyelim ki revizyonları kaydetme yeteneğinden çıkmak istiyoruz, ancak diyelim ki yalnızca 3 revizyon bırakmak istiyoruz. Bunu yapmak için aşağıdakileri yazmamız gerekir:

    Function my_revisions_to_keep($revisions) ( return 3; ) add_filter("wp_revisions_to_keep", "my_revisions_to_keep");

    wp_revisions_to_keep'i kullanarak farklı türdeki gönderilerdeki kopya sayısını da sınırlayabilirsiniz. Daha doğrusu, bir türde - bir dizi revizyon, diğerinde - diğerinde.

    Mesela sayfalar için 5, makaleler (yazılar) ve diğer yazı türleri için 3 revizyona ihtiyacınız olduğunu varsayalım.

    Function my_revisions_to_keep($revisions, $post) ( if ("page" == $post->post_type) 5 değerini döndürür; else 3 değerini döndürür; ) add_filter("wp_revisions_to_keep", "my_revisions_to_keep", 5, 2);

    Ayrıca wp-config.php dosyanızda WP_POST_REVISIONS kullanmayı da deneyebilirsiniz, ancak bu yöntem size yazı türlerine bölme yeteneği vermez.

    define("WP_POST_REVISIONS", 3);

    WordPress'te revizyonlar nasıl devre dışı bırakılır ve/veya kaldırılır

    Aynı şekilde revizyonları da tamamen reddedebilirsiniz. Kısıtlamalara 0 sayısını yazmanız yeterli.

    Function my_revisions_to_keep($revisions) ( 0 değerini döndür; ) add_filter("wp_revisions_to_keep", "my_revisions_to_keep");

    Veya wp-config.php dosyasıyla:

    Define("WP_POST_REVISIONS", 0);

    En önemli. Revizyonların devre dışı bırakılması - onların (zaten mevcut olanların) varlığını hiçbir şekilde etkilemeyecektir. onlar. her yazı için 3-5 revizyon yaptırıp düzeltmeleri kapatmışsanız yazıların eski kopyaları kalacaktır. Veritabanı aracılığıyla elle silinmeleri gerekir.

    Tüm revizyonlar, revizyonlar nasıl silinir

    Bu nedenle revizyonları kapattık. Yalnızca sürümleri devre dışı bırakmanın yeterli olmadığını zaten biliyoruz. Bunları kökten sökmek, MySQL aracılığıyla manuel olarak silmek gerekir.

    Belki başlayalım. Ancak bir şeyi silmeden önce yedekleme yapın. Tüm sitenin yedeğini almak daha iyidir.

    Wp_postmeta'dan DELETE FROM WHERE post_id IN (wp_posts'tan ID SEÇİN WHERE post_type = "revision" AND post_name LIKE "%revision%");

    Taksonomiler için benzer bir şey yapın

    Wp_term_relationships'ten DELETE FROM WHERE object_id IN (wp_posts'tan ID SEÇİN WHERE post_type = "revision" AND post_name LIKE "%revision%");

    Ve tabii ki revizyonları (revizyonları) kendileri de siliyoruz.

    wp_posts'DAN SİLİN WHERE post_type = "revizyon" VE post_name LIKE "%revision%";

    MySQL'deki bu sorgu, veritabanınızdaki tüm revizyonları kaldıracaktır. Otomatik kaydetme hariç.

    Otomatik kaydetme - aynı zamanda bir revizyon olarak kabul edilir, ancak silinmez veya devre dışı bırakılmaz !! Bu nedenle, bunlardan mümkün olduğunca azına sahip olmak için - metinleri önceden Word'e yazın ve ardından bunları yönetici paneline yapıştırın!

    MySQL ile nasıl çalışılacağına dair küçük bir hatırlatma

    Aniden unutulursa.

    Adminvps hosting ile çalışıyorum, hatta nedenini bu yazımda açıkladım. Bu yüzden üzerindeki her şeyi göstereceğim.

    Hosting kontrol panelinizden phpMyAdmin'e giriş yapın.

    Kullanıcı adını ve şifreyi girin.

    İhtiyacımız olan veritabanını seçtik ve üstte bulunan SQL butonuna bastık.

    Ve SQL sorguları yazmak için geniş bir alan görüyoruz. Veritabanının tamamı için.

    Oraya tüm istekleri sırayla giriyoruz.

    Boş değerler görürseniz endişelenmeyin, yalnızca sol yazı türlerini veya sınıflandırmaları kullanmadınız.

    Ve işte son sorguyu kullanarak elde ettiğim şey.

    Bundan sonra blogumun nasıl hızlandığını görün. Bu sadece bir peri masalı!

    Eminim sende de aynısı vardır! Kontrol edin ve daha sonra bana bildirin.

    Gönderileri düzenlemek için eklenti

    Ayrıca Revizyon Kontrolü eklentisini de önerebilirim, anlattığım şeyin aynısını sadece sizin için daha rahat bir modda yapmanıza olanak tanır. Yöneticinin sağ tarafında.

    Hala sorularınız varsa - sorun, size yardımcı olmaktan memnuniyet duyarım. Şimdilik bu kadar. İlginiz için teşekkür ederiz.

    Merhaba sevgili okuyucular. Bugün WordPress'teki revizyonlardan, veritabanında yazı veya sayfa başına kaç tanesinin saklanacağını nasıl sınırlayabileceğinizden ve bunları nasıl tamamen devre dışı bırakıp silebileceğinizden bahsetmek istiyorum.

    Revizyonlar nedir ve ne içindir?

    WordPress'teki sürümler (revizyonlar) bir gönderi veya sayfa her güncellendiğinde veritabanında saklanan yedeklerdir. Bir yandan, bu kullanışlıdır, çünkü bir makalenin herhangi bir sayıdaki yedek kopyasını her zaman geri yükleyebilirsiniz, çünkü WordPress kesinlikle tüm yedek kopyaları kaydeder. Ancak günlük trafiğin yüksek olduğu ve içeriğin çok fazla olduğu, oldukça yüklü bir projeniz olduğunu düşünelim. Sonra ne? Daha sonra veritabanı çok büyük yüklerle karşılaşabilir. Ne yapabiliriz? Gönderilerin ve sayfaların hâlâ revizyonlarına ihtiyacınız varsa, bunların kaydedilme sayısını sınırlayabilir veya bunları tamamen devre dışı bırakıp silebilir, böylece yükü azaltabilirsiniz.

    Kaydedilen revizyonların sayısını sınırlama

    WordPress'te revizyon sayısını sınırlamanın iki yolu vardır:

    1. WP_POST_REVISIONS sabiti ile;
    2. wp_revisions_to_keep kancasını kullanmak (bu kanca aynı zamanda standart veya özel gönderi türleri olsun, tutulacak gönderi türlerini seçmenize de olanak tanır).

    WP_POST_REVISIONS sabitini kullanarak kaydedilen revizyonların sayısını sınırlamak için aşağıdaki kodu wp-config.php yapılandırma dosyasına eklemeniz gerekir (sitenin kökünde bulunur):

    Define("WP_POST_REVISIONS", 1);

    Artık her gönderi ve sayfa için bir revizyon veritabanında saklanacak.

    Yukarıda yazdığım gibi wp_revisions_to_keep kancası daha fazla seçenek sunuyor. Aşağıda, temanızın function.php dosyasına eklemeniz gereken yorumlarla kaydedilen revizyonların sayısını sınırlamaya yönelik bir kod örneği verilmiştir:

    /** * wp_revisions_to_keep kancasıyla tutulacak revizyon sayısını sınırlama * @param integer $count - revizyon sayısı * @param object $post - post object */ function limit_save_revisions_db($count, $post) ( if ($post) ->post_type = = "page") (// standart WordPress sayfaları için, 1 revizyonu kaydedin return 1; ) elseif ($post->post_type == "post") (// standart WordPress gönderileri için, 3 revizyonu kaydedin return 3 ; ) elseif ($post ->post_type == "incelemeler") (//özel gönderi türü "Yorumlar" için düzeltmeleri kaydetmeyin, 0 döndürür; ) else (//diğerleri için, 3 düzeltmeyi kaydedin, 3 döndürün; )) add_action("wp_revisions_to_keep", "limit_save_revisions_db", 10, 2);

    Revizyonları tamamen devre dışı bırakın ve silin

    Sitenizdeki revizyonları tamamen devre dışı bırakmayı seçerseniz, aşağıdaki kodu temanızın function.php dosyasına ekleyerek wp_revisions_to_keep kancasını da kullanabilirsiniz:

    /* * Toplam revizyon devre dışı bırakma * @param integer $count - revizyon sayısı */ function deactivate_revisions($count) ( return 0; ) add_filter("wp_revisions_to_keep", "deactivate_revisions");

    Ayrıca sürümler tamamen devre dışı bırakıldıktan sonra veritabanından kaldırılması arzu edilir. Sonuçta, kapanmadan önce hala korunuyorlardı ve şimdi gereksiz bir "ölü" ağırlık olarak orada kalacaklar. Bunu yapmak için PHPMyAdmin'e gitmeniz, istediğiniz veritabanını bulmanız ve içindeki wp_posts tablosunu açmanız gerekir. Daha sonra SQL sekmesine tıklayın ve aşağıdaki sorguyu yürütün:

    `wp_posts`TAN SİLİN WHERE post_type = "revizyon";

    Şimdi revizyonların tüm meta verilerini (wp_postmeta tablosu) ve sınıflandırmalarını (wp_term_relationships tablosu) silmemiz gerekiyor. Bunu yapmak için 2 sorgu daha yürütüyoruz:

    Wp_postmeta'dan DELETE FROM WHERE post_id IN (wp_posts'tan ID SEÇİN WHERE post_type = "revision" AND post_name LIKE "%revision%"); Wp_term_relationships'ten DELETE FROM WHERE object_id IN (wp_posts'tan ID SEÇİN WHERE post_type = "revision" AND post_name LIKE "%revision%");

    Elbette bu sorguları çalıştırmadan önce veritabanınızı yedeklemeniz en iyisidir.

    Bu kadar. Umarım makale sizin için faydalı olmuştur. Hepinize iyi şanslar!!!

    Gönderilerdeki değişiklikleri kaydetmek, WordPress'te çalışırken çok yararlı olabilir. Bir şeyler ters giderse ve gönderideki bilgileri kaybederseniz, menüdeki bağlantıya tıklayarak gönderinizin önceki kayıtlı sürümüne her zaman erişebilirsiniz. Sürümler editör penceresinin altında.

    Çok sayıda revizyon

    Bir süredir WordPress ile çalışıyorsanız, şüphesiz bu özelliği bir veya iki kez kullanmışsınızdır. Ancak muhtemelen bu değişikliklerin artma eğiliminde olduğunu fark etmişsinizdir.

    Düzenleyicide bir gönderi yazarsanız, WordPress, gönderiyi kaydettiğinizde revizyonları otomatik olarak kaydeder. Sonuç olarak, bir gönderinin 20'den fazla revizyonuna sahip olmak alışılmadık bir durum değildir. Bunu sitenizdeki gönderi sayısıyla çarpın ve veritabanında depolanan megabaytlarca ekstra gönderiye sahip olun.

    Eski revizyonlardan nasıl kurtulurum

    Bazı insanlar tüm bu eski sürümleri veritabanlarında tutmaktan hoşlanmazlar. Sitelerini yavaşlattıklarını düşünüyorlar. Ancak bu bir efsanedir.

    WordPress geliştiricisi Mike Little, WPBeginner'daki bir yorumda şöyle yanıt verdi: "WordPress veritabanı sorguları revizyonları getirmez, dolayısıyla revizyon sayısı sorgu hızını etkilemez. Bir sayfaya revizyonların yüklendiği tek zaman, tek bir gönderiyi düzenlerken olur. Ve bu, web sitenizin sayfa yükleme hızını etkilemez.

    Ancak birçok kişi hala küçük ve hafif bir veritabanına sahip olmanın çok iyi olduğunu düşünüyor ve bu nedenle hala eski revizyonlarından kurtulmayı tercih ediyor.

    Eğer onlardan biriyseniz aşağıdaki üç eklentiden biri tam da bunu yapmanıza yardımcı olacaktır.

    1. Revizyonu Silseniz Daha İyi

    Revizyonu Silseniz Daha İyi gönderilerin eski sürümlerini kaldırır ve ayrıca veritabanınızı optimize eder.

    Eklenti sayfasında şöyle yazıyor: "Bu eklenti, eski revizyonları optimize ederek ve silerek, kullanımı boyunca veritabanınızı daha hafif ve daha küçük tutacaktır. Eski revizyonları silmek ve veritabanlarını optimize etmek, blogunuzun mümkün olduğu kadar hızlı çalışmasını sağlamak için yapabileceğiniz en iyi şeylerden biridir. "

    Eklenti ayarları sayfasına ve kaldırma işlemine bakın.

    Eklenti farklı Revizyonu Silseniz Daha İyi revizyonlarınızı toplu olarak silmez, ancak size iki işlev verecektir: Revizyonu Silseniz Daha İyi bulunmamaktadır.

    Öncelikle kaç revizyonun kaydedildiğini belirlemenizi sağlar.

    Ayrıca düzenleme sayfasındaki bireysel revizyonları silmenize olanak tanır.

    3.Revizyon Temizleyici

    Eklenti Revizyon Temizleyici her kullanıcının revizyonlarının otomatik olarak silinmesi için bir zaman aralığı belirlemesine olanak tanır. Bu, kullanıcı profili sayfasında yapılabilir.

    Bugünün makalesi hakkında olacak WordPress revizyonları.

    WordPress revizyonları, düzenleme sırasında gönderilerin otomatik olarak kaydedilmesidir. Bir yandan bu harika bir özellik: örneğin, bir saatten fazla bir süredir bir makale yazıyorsunuz, dairedeki elektrik aniden kesildiğinde, tarayıcı donuyor veya sekme yanlışlıkla kapatılıyor ... Bu ilk kez başıma geldiğinde, metni nasıl yeniden yazmam, görüntüleri hizalamam, genel olarak her şeyi yeniden yapmam gerektiğine dair düşünceler hemen aklıma geldi, ancak böyle bir şans yok! WordPress yayınımın tamamını otomatik olarak kaydetti! Böyle bir özellik için geliştiricilere ne kadar minnettar olduğuma inanamayacaksınız.

    Ancak madalyonun diğer yüzü de var. Varsayılan, WordPress revizyonları 60 saniyede bir yapılır ve her revizyon veri tabanına yazılır. Şimdi yazı başına ortalama kaç revizyona sahip olduğunuzu hesaplayın ve blog yazısı sayısıyla çarpın. Bir sürü vahşi! Veritabanının boyutu revizyonların yarısı kadar olabilir. Bende de tam olarak buydu. Tüm revizyonları sildikten sonra veritabanı boyutunun nasıl azaldığını görün. İki kere!

    WordPress Düzeltmeleri Nasıl Devre Dışı Bırakılır

    İçin WordPress revizyonlarını devre dışı bırakma wp-config.php dosyasını açın, sitenizin kökünde bulunur.

    İçeri girip aşağıdaki satırları ekliyoruz:

    define("WP_POST_REVISIONS", 0);

    Parantez içindeki sayı, giriş başına kaç düzeltmeye izin verildiğini gösterir. Otomatik kaydetme aralığını saniye cinsinden de belirleyebilirsiniz (varsayılan 60).