DB Access katmanı ve satırları silme
WordPress, wpdb
sınıfını kullanarak veritabanı katmanına erişimi yönetmek için kullanır global $wpdb
. Sınıf, delete()
tablolardaki satırları silmek için adlandırılmış bir yöntem sağlar :
$wpdb->delete( $table, $where, $where_format = null );
Çok bölgeli tablolar ve etkinleştirme anahtarları
WordPress'in MU'ya özgü bazı tabloları vardır , burada bir tane {$wpdb->prefix}signups
( wp-config.php
dosyanızda önek ayarlanmıştır ). Tablolar şeması burada . Kullanıcı hesabının etkinleştirilmesinden sorumlu, kullanıcı activation_key
postadaki bağlantıyı tıklattıktan sonra ayarlanan hesaptır . Bundan sonra, activated
anahtar bir datetime
değerle ayarlanır . Hesap etkinleştirilmeden önce varsayılan değer olacaktır 0000-00-00 00:00:00
(varsayılanı sorgulamanız gerekiyorsa). İşlemde ayrıca, kullanıcının aktif olup olmadığı olarak ayarlanan tinyint
/ 1
sütunu bulunur .active
1
Çekirdeğin kendisi kullanır wpmu_activate_signup()
. Bazı örnekler için bakın. Birincisi, bir kullanıcı girişini etkinleştirmek üzere güncelleyen - okunabilirlik için yeniden düzenlendi.
$wpdb->update(
$wpdb->signups,
array(
'active' => 1,
'activated' => current_time( 'mysql', true ),
),
array( 'activation_key' => $key, )
);
Henüz etkinleştirilmemiş hesaplara karşı sorgu oluşturma
Sadece WP'nin zor işi yapmasına izin verin:
global $wpdb;
$wpdb->delete(
$wpdb->signups,
array( 'user_login' => 'some_login', )
);
WP_List_Table
Bir dize kullandığınızı belirtmek için bu istekleri gerçekleştirmek için (örneğin, a'yı genişletmek için ) bir (n admin) formu kullanıyorsanız 3. bağımsız değişkeni (dizi) kullanabilirsiniz . Hala $_POST
değerleri dezenfekte etmeniz gerektiğini unutmayın . İpucu: Siz de kullanabilirsiniz user_email
.
global $wpdb;
$wpdb->delete(
$wpdb->signups,
array( 'user_login' => 'some_login', ),
array( '%s', )
);