это для полнотекстового поиска по произвольным полям и заголовку - массиве лежат самые релевантные отсортированные по релевантности
при implode ругается сам woocomerce
WordPress database error: [You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') AND wp_posts.post_type = 'product' AND (wp_posts.post_status = 'publish' OR wp_posts' at line 1]
SELECT SQL_CALC_FOUND_ROWS wp_posts.ID FROM wp_posts WHERE 1=1 AND wp_posts.ID IN () AND wp_posts.post_type = 'product' AND (wp_posts.post_status = 'publish' OR wp_posts.post_status = 'wc-send-to-client' OR wp_posts.post_status = 'wc-wait-delivery' OR wp_posts.post_status = 'private') ORDER BY wp_posts.post_date DESC LIMIT 0, 15
почему у меня не рабоатет так?
$a = mysql_query("SELECT DISTINCT _posts.id, _posts.post_title FROM _posts WHERE MATCH (post_title) AGAINST ('$result')"); // сюда запиздючить полнотекстовый поиск брать только id и заголовок
while($aa = mysql_fetch_array($a)){
array_push($p_id, $aa['ID']);
print_r($aa);
}
в print_r($aa); только post_title
Макс: да, и 1 1 2 9 b вобще бред и например bw 465 и bw465 тоже не одно и тоже - слитно не находит, тестирую на локалке - ставить 1 символ в ft_min_word_len нет смысла - 2 нормально работает вроде
спс. как пользователь ответьте мне по поводу этого плагина - он шлёт письма при смене дополнительных статусов? то есть я на создавал статусы "в пути", "ожидает получения" и тд - когда меняю статус то письмо клиенту придёт?
а вот так выводит релевантность которая не адекватна
SELECT DISTINCT _posts.post_title,
MATCH (
post_title
)
AGAINST (
'DIETRICH купольная 1129b'
) AS score
FROM _posts
WHERE MATCH (
post_title
)
AGAINST (
'DIETRICH купольная 1129b'
)
искомый запрос в самом конце выдержки (всего 400+ строк) clip2net.com/s/3nS2X2L
начал изучать и пробовать - ничего не получается
подскажите правильно ли я делаю?
ALTER TABLE _posts ADD FULLTEXT (post_title)
дальше
SELECT DISTINCT _posts.post_title
FROM _posts
WHERE MATCH (
post_title
)
AGAINST (
'DIETRICH купольная 770'
)
но он пропускает забивает на цифры и находит все "Вытяжка купольная DE DIETRICH DHD" - их 400+ и отличаются только моделями
а если
SELECT DISTINCT _posts.post_title
FROM _posts
WHERE MATCH (
post_title
)
AGAINST (
'DIETRICH купольная 1129b'
)
то "Вытяжка купольная DE DIETRICH DHD 1129 B" находится в середине - как исправить этот момент?
И как я понял индекс нужно вручную создавать командой ALTER TABLE _posts ADD FULLTEXT (post_title) и нужно делать это постоянно?
Я уже почти выучил этот код, но похоже что где-то статус снова перезаписывается
Прицепился так
add_filter( 'woocommerce_new_order', 'custom_woocommerce_auto_complete_order',99 );
function custom_woocommerce_auto_complete_order( $order_id ) {
if ( !$order_id ) return;
$my_post = array();
$my_post['ID'] = $order_id;
$my_post['post_status'] = 'wc-processing';
$my_post['post_content'] = 'проверяем что всё ок';
wp_update_post( $my_post );
}
контент пишется а вот статус видимо перезаписывается и становится wc-on-hold - по файлам этот статус встречается только в 3х файлах
подскажите хотя бы где он перезаписываться может
add_filter( 'woocommerce_new_order_data', 'custom_woocommerce_auto_complete_order' );
function custom_woocommerce_auto_complete_order( $order ) {
$order['post_status'] = 'wc_processing';
return $order;
}
Всё равно что-то не меняется статус (так и остаётся на удержании) и не приходит первое письмо о том что заказ создан и что странно - если закомментрировать $order['post_status'] = 'wc_processing'; то письмо приходит и заказ создаётся со статусом wc_pending, а если меняем на wc_processing то статус всё равно на удержании
Массив $order содержит Array
(
[post_type] => shop_order
[post_status] => wc_pending
[ping_status] => closed
[post_author] => 1
[post_password] => order_55ffe22902cb2
[post_title] => Заказ – Sep 21, 2015 @ 10:55 AM
[post_excerpt] =>
)
Дело в том что даже
add_filter( 'wc_create_order', 'custom_woocommerce_auto_complete_order' );
function custom_woocommerce_auto_complete_order( $order_id ) {
error_log('запустилось');
}
не работает тоесть add_filter( 'wc_create_order', 'custom_woocommerce_auto_complete_order' ); не запускает ustom_woocommerce_auto_complete_order
Почитал про XDebug - нет возможности его использовать на данный момент. У вордпресса включил логирование но как переменную или масив в лог сохранить так и не понял
не рабоатет, походу фильтр вобще не срабатывает так как функция даже письмо не отправляет
add_filter( 'wc_create_order', 'custom_woocommerce_auto_complete_order' );
function custom_woocommerce_auto_complete_order( $order_id ) {
wp_mail( 'www@mail.ru', 'тест', 'получилось' );
global $woocommerce;
при implode ругается сам woocomerce
WordPress database error: [You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') AND wp_posts.post_type = 'product' AND (wp_posts.post_status = 'publish' OR wp_posts' at line 1]
SELECT SQL_CALC_FOUND_ROWS wp_posts.ID FROM wp_posts WHERE 1=1 AND wp_posts.ID IN () AND wp_posts.post_type = 'product' AND (wp_posts.post_status = 'publish' OR wp_posts.post_status = 'wc-send-to-client' OR wp_posts.post_status = 'wc-wait-delivery' OR wp_posts.post_status = 'private') ORDER BY wp_posts.post_date DESC LIMIT 0, 15