Aşağıdakileri göz önünde bulundur:
Eklentiniz, her site için farklı tablo önekleri kullanan bir wordpress ağında kullanılır. Eklentiniz, hepsi aynı veritabanında bulunan 836 farklı sitede aynı anda çalışıyor olabilir. wp_385677_liveshoutbox
son derece makul bir masa adıdır.
Eklentiniz, bazı güvenlik kavramlarına sahip olan select * from wp_users
ve sisteme enjekte etmeye çalışan botları engellemek için tablo önekini değiştiren bir kullanıcı tarafından yüklenir . Yeni bir güvenlik açığı bulsalar bile işe yaramaz.
Sabit kodlama tablosu adları gibi kısayolları almak, bir ürünü çalıştırıp çalıştırmanın iyi bir yoludur, ancak serbest bırakmanın iyi bir yolu değildir. çok kısa sürede eklenti üzerinde bir "işe yaramaz" yorumlar yığını olacak, en kötü durumda başka birinin sitesini kıracak.
Karmaşık bir sorgu varsa ve yazma acı ile uğraşmak istemiyorsanız 'select foo from ' . $wpdb->prefix . '_mytable left join ' . $wpdb->prefix . '_mytablemeta on ' . $wpdb->prefix . '.ID = ' . $wpdb->prefix . '.meta_id ....
yerine kullanabilirsiniz. Örneğin:
$query = 'select foo from %table% left join %meta% on %table%.ID = %meta%.meta_id ... ';
$change = array (
'%table%' => $wpdb->prefix . '_mytable',
'%meta%' => $wpdb->prefix . '_mytablemeta'
);
$sql = str_replace( array_keys( $change ), array_values( $change ), $query );
$results = $wpdb->get_results( $sql );
Wordpress sürekli değişiyor. Bugün "işe yarayan" yarın işe yaramayabilir. Bu yüzden API fonksiyonları var. Wordpress geliştiricileri, genel API davranışının tutarlı olmasını sağlar (veya işlevi amortismana tabi tutar). Dahili yöntem çağrılarını kullanmaya başlarsanız 'bu şekilde daha hızlı' olur, genellikle sizi ısırmaya geri döner. Yazılımda çok az gerçek kısayol var - sadece gerekli işi şimdiden sonrasına taşıyorlar ve kredi kartınızın "daha sonra" olması genellikle daha pahalı.