久久精品水蜜桃av综合天堂,久久精品丝袜高跟鞋,精品国产肉丝袜久久,国产一区二区三区色噜噜,黑人video粗暴亚裔

首頁站長新聞WordPress 3.5 與 wpdb::prepare() 報錯

WordPress 3.5 與 wpdb::prepare() 報錯

2012-12-14 204

        WordPress 3.5 正式發(fā)布, 這個版本包括大量更新。 啟用了最新的響應(yīng)式布局默認主題 Twenty Twelve; 改版了 Admin 界面, 更加簡潔而且針對移動設(shè)備進行了優(yōu)化; Media 功能也得到極大的提高, 現(xiàn)在更加沒有理由使用其他圖床服務(wù)了。但是WordPress 秉承一貫的作風(fēng), 也偷偷改了一些內(nèi)部方法, 現(xiàn)在wpdb::prepare() 必須填入第二個參數(shù), 否則報錯如下。

Warning: Missing argument 2 for wpdb::prepare(), called in xxx.php on line 75 and defined in /www/wp-includes/wp-db.php on line 990

WordPress 3.5 與 wpdb::prepare() 報錯

wpdb::prepare() 的第二個參數(shù)

        從技術(shù)上 WordPress 這樣修改 prepare 并沒有錯, 因為這是用來組裝 SQL 語句的方法, 按常理來說必須有帶變量的字符串作為第一個參數(shù)和第二個作為變量的參數(shù)。 但是 WordPress 從 2.2 或者更早版本允許了忽略第二個參數(shù)的寫法, 現(xiàn)在突然令第二個參數(shù)成為必填, 必然導(dǎo)致很多主題和插件不能正常使用。

        我發(fā)布的所有 WordPress 主題和最新評論插件 WP-RecentComments 都中槍了。 感謝 neoner 提醒, 半個月前我更新 WP-RecentComments 解決了這個問題, 但還沒有時間改主題, 因為主題審核太麻煩了。

解決辦法

        在更新主題之前, 我先在這里說說解決辦法, 讓用戶們自己可以先解決一下, 相信還有其他主題或者插件可能也會有類似問題, 希望對大家有幫助。

        我們需要先定位出現(xiàn)問題的文件和代碼。 PHP 的代碼報錯很精準(zhǔn)的, 打開報錯提醒中的文件 (前一個文件, 不是 wp-db.php), 找到代碼

$wpdb->prepare

        為該方法添加一個空串作為第二個參數(shù), 比如:

$wpdb->prepare(‘xxx’); 改為 $wpdb->prepare(‘xxx’, ‘’);

即可。

總結(jié)

        WordPress 也不是第一次偷偷修改方法調(diào)用方式了, WordPress 2.7 的時候也要求 comments_template 必須輸入第二個方法, 但是當(dāng)時是為了擴展功能, 這次我真的不解。 我猜測在有意淘汰一些不積極更新的主題很插件呢? 但我的主題明明向后兼容做得很好的, 實在太沒節(jié)操了.

來源:neoease.com

  • 廣告合作

  • QQ群號:4114653

溫馨提示:
1、本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享網(wǎng)絡(luò)內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。郵箱:2942802716#qq.com(#改為@)。 2、本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉(zhuǎn)裁,轉(zhuǎn)載請注明出處“站長百科”和原文地址。

相關(guān)文章