wordpress missing argument 2 for wpdb::prepare()

Попалась на глаза ошибка

PHP Warning:  Missing argument 2 for wpdb::prepare(), called in /***/wp-content/plugins/searchterms-tagging-2/searchterms-tagging2.php on line 658 and defined in /***/wp-includes/wp-db.php on line 992
PHP Warning:  Missing argument 2 for wpdb::prepare(), called in /***/wp-content/plugins/searchterms-tagging-2/searchterms-tagging2.php on line 695 and defined in /***/wp-includes/wp-db.php on line 992

Сразу понятно, что проблема идет от плагина SEO SearchTerms Tagging 2.

Отрываем файл плагина /wp-content/plugins/searchterms-tagging-2/searchterms-tagging2.php
и переходим к указанной строке.

немного теории!!!

$wpdb->prepare( "SELECT * FROM table WHERE ID = %d AND name = %s", $id, $name );

Так должен выглядеть правильный запрос к базе.
А так будет он же только в не правильном виде

$wpdb->prepare( "SELECT * FROM table WHERE ID = %d AND name = %s" );

Называется почувствуйте разницу :) .
Запрос работать будет и в не правильном виде, но мы же любим чистоту в error.log’е.
/немного теории!!!

Вернемся к нашим баранан кодам.
Строки 658 и 695 выглядят так:

$post_count = $wpdb->get_var($wpdb->prepare( $sql ));

Чтобы корректно работало заменяем на

$post_count = $wpdb->get_var($wpdb->prepare( $sql, "" ));

Таким способом добавив 2й параметр в вызов (о чем и сигнализирует ошибка), можно исправить подобную ошибку в любом другом плагине.
Профит!!!

3 комментария

Люси on 05.01.2018 at 17:24.

Добрый день. У меня на сайте выдает вот такую ошибку(((

Warning: Missing argument 2 for Blossomthemes_Toolkit_Admin::bttk_updated_category_image(), called in /xxx/xxx/xxx/wp-includes/class-wp-hook.php on line 288 and defined in /xxx/xxx/xxx/wp-content/plugins/blossomthemes-toolkit/admin/class-blossomthemes-toolkit-admin.php on line 191

на строке 191 в плагине blossomthemes-toolkit написано следующее
public function bttk_updated_category_image ( $term_id, $tt_id) {

Помогите пожалуйста! Что мне надо здесь исправить, чтобы ошибка ушла?
Заранее спасибо.

Ответить

admin

admin on 05.01.2018 at 17:37.

Люси, здравствуйте.
php требует 2 аргумент, значит надо его дать

public function bttk_updated_category_image ( $term_id, $tt_id=null) {

Ответить

admin

admin on 05.01.2018 at 17:53.

плюсом в 154 строке тоже заменить

public function bttk_save_category_image ( $term_id, $tt_id=null ) {

Ответить

Скажите свое мнение

ваш email не публикуется. обязательно *

;-) :yawn: :whew: :toivo: :tmi: :time: :thinking: :talking: :sweating: :swear: :sun: :star: :smoke: :smirk: :sleepy: :skype: :shock: :shake: :rofl: :rain: :punch: :puke: :poolparty: :pizza: :phone: :party: :oops: :nod: :no: :ninja: :neutral: :nerd: :music: :muscle: :mrgreen: :movie: :mooning: :mmm: :middlefinger: :makeup: :mail: :mad: :lol: :lipssealed: :kiss: :itwashtme: :inlove: :idea: :hi: :heidy: :heart: :headbang: :happy: :handshake: :giggle: :fubar: :flower: :evilgrin: :emo: :dull: :drunk: :drink: :doh: :devil: :dance: :cry: :cool: :coffie: :clapping: :cash: :call: :cake: :bug: :brokenheart: :bow: :blush: :beer: :bear: :bandit: :arrow: :angry: :angel: :^) :???: :?: :-| :-o :-P :-D :-) :-( :!:

 

*

code

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.