Я б вам дал доступ на сайт в тест, но боюсь - вдруг вы мне все уничтожите))))
В форме пользователь заполняет данные о своей фирме- должен быть минимальный обьем доступных тегов для форматирования документа, данные на русском языке, поэтому все эти дропы могу смело запрещать. Доступны абзацы, переносы, заголовки, списки и по мелочи. Для этого к текстареа подключил JS вставку тегов, остальные закрыл как писал выше. Сам метод update как выяснилось добавляет слэши к кавычкам, так что возникла проблема - не работает вставка стилей через спан. Но это некритично.
И вообще что-то мне уже кажется, что я заморачиваюсь больше чем надо. Но все советы с благодарностью приму, так же как и примеры готовы решений.
Добавил еще регулярку которая просто убирает всякие drop и onmouse..
метод update, оказывается, автоматически экранирует кавычки.
Спасибо за подсказку с null - попробую. Я уже ночью во сне тоже пришел к выводу что нужно попробовать убрать.
В силу малоопытности не очень понимаю как это может пройти - обьясните на примерах ?
$wpdb->insert( 'mytable', array('myrow' => $value) ); $wpdb->prepare( 'INSERT INTO table (myrow) VALUES (%s)', $value, //an unescaped string (function will do the sanitization for you) );
попытался добавить prepare - перестала работать запись. Где то нарушил синтаксис. в VALUES нужно %s или %d указывать через запятую количеством в строгом соответствии с $value?
делал так:
$wpdb->query( $wpdb->prepare( "INSERT INTO `my_table` ( id, post_content, meta_value, post_excerpt ) VALUES ( %d, %s, %d, %s )", array( NULL, $metakey, 0, ' ' ) ) );
Заменил addslashes на mysql_real_escape_string (mysqli_real_escape_string) Данные перестали передаваться из формы.
Добавил обработку переменной с помощью - esc_sql() - прикрыло вообще все тэги \n соответственно теряется все форматирование - не подходит... как быть?
в моем варианте ни один лишний тэг не пропускает но вот вопрос с командами sql как от них обезопасится?
Админка - Настройки -Обсуждение - там все опции.
А можно поподробнее про *_escape_string - что вместо звездочки? нашел
mysql_real_escape_string - это?
Более-менее приличная тема так и делает. Лента новостей на главной должна использовать thumbs+ecxerpt(), сама запись выводиться естественно с помощью content(), ну а уже в нев выставляете картинки как вам надо при создании записи. Тут WP очень гибок.
Юлиана Савина Есть плагины, которые сбивают заголовки. Что-то там с лишними пробелами в самом начале файла. Попробуйте поотключать поочередно плагины, может найдете тот что мешает работе нормальной.---------- Добавлено 04.05.2014 в 11:24 ----------
Три раза перечитал - сути не понял. Нужна вам миниатюра, нет...
Если в настройках темы нет- надо вручную править соответсвующие страницы. Несложно, но требует минимальных знаний.
Проверил так:
$wpdb->query("UPDATE `wp_rus_posts` SET 'post_content'=$f_cont, 'post_excerpt'=$f_excer WHERE 'ID'=$f_pid");
Не работает
Заработало в таком виде:
$wpdb->update( 'wp_rus_posts', array( 'post_content' => $val), array( 'ID' => $pos_id ) );
сама переменная должна быть без кавычек. Потом проверю еще через php запрос