Dmitry Kohan
Ответы в темах
-
Спасибо огромное за помощь! Всё получилось
если вкратце, я ведь могу проверять пустоту нескольких элементов input, считывать их значения и манипулировать ими по событию
click
другой кнопки, а результат вычислений выводить в тот же момент также по событиюclick
той же кнопки в модальном окне, вызываемым данной кнопкой, посредством ajax ?ps @yube , извините, пожалуйста, за беспокойство
@yube , спасибо большое, буду пробовать, возникла также идея — а если попытаться реализовать это в виде модального окна, т.е. рядом с кнопкой «Сохранить» добавить кнопку «Проверить», и тогда именно по нажатию на данную кнопку будут проходить все манипуляции и вычисления и результат проверки будет выводиться в модальном окне, и при этом кнопку «Сохранить» с самого начала я буду делать
disabled
, а когда выполнится событиеclick
по кнопке «Проверить» и все текстовые поля будут заполнены и иметь допустимый формат после проверки поclick
, аттрибутdisabled
у кнопки «Сохранить» убирать ? имеет ли такой вариант право на жизнь ? или я что-то упустил ?- Ответ изменён 4 года, 5 месяцев назад пользователем Dmitry Kohan. Причина: уточнил
@yube , еще раз спасибо, разобрался. Действительно, параметр meta_query в функции
get_terms()
работает аналогично параметру meta_query вWP_Query
.
@yube , позвольте у Вас попросить ещё один совет: если есть 3 числовых поля, результат вычисления по которым нужно сравнить со значением из БД и вывести в фоновом режиме на экран, то как это лучше реализовать ? нужно как-то проверять три поля input на пустоту и если все поля заполнены выполнять AJAX-запрос ? и это нужно проверять всякий раз когда любое из полей теряет фокус ? но как быть, если после ввода всех трех значений пользователь нажимает кнопку «Сохранить» ? — результат сравнения ведь не успеет даже показаться на экране… или может быть есть другой вариант, до которого я не додумался… подскажите, пожалуйстаget_terms() WP 2.3.0
…
meta_query(массив)
Запрос для получения элементов на основе метаданных. Смотрите WP_Meta_Query.WP_Meta_Query{} WP 3.2.0
Класс создает JOIN и WHERE части SQL запроса, которые в дополнении к основному запросу будут фильтровать результат по указанным ключу и значению метаполя.WP_Meta_Query — это вспомогательный класс, который используется в комбинации с классами: WP_Query, WP_User_Query, WP_Comment_Query и помогает им фильтровать результат на основе указанных метаданных.
@yube , понял, спасибо. Разбираюсь с метаданными терминов.
Вы не подскажете, в функцииget_terms()
параметрmeta_query
работает аналогично параметруmeta_query
вWP_Query
? это массив массивов, но только работает вместо postmeta с termmeta, верно ?@yube , спасибо огромное, пытаюсь сделать свой SQL-запрос по образу и подобию порождаемого WP. Для постов (объекта WP_Query) существует фильтр
posts_groupby
, чтобы изменятьGROUP BY
часть SQL запроса. Вы не подскажете — для терминов ничего такого подобного не существует ? Т.е. нужно посредством$wpdb
писать свой запрос, чтобы изменить результат, который формирует функцияget_terms()
?@yube , может быть у Вас будет какая-нибудь идея ?) зашел в тупик..
ps еще раз извините, так сказать последняя надеждаЕсли выразиться проще — не могу извлечь все термины определенного типа записи так, чтобы эти термины не повторялись т.е. записи могут иметь термины с одинаковым name, description и т.д. но с разным term_id. Не могу понять как извлекать такие «повторяющиеся» термины только один раз… может кто подскажет.
Буду рад любому комментарию или подсказке в каком направлении думать.
Заранее спасибо@yube , доброго времени суток ) сразу прошу прощения за беспокойство
Подходя к завершению данного вопроса по реализации каталога продукции, столкнулся с проблемой вывода всех поставщиков и продавцов по определенной категории товаров (как Вы и советовали, товары у меня — это записи в wp_posts, продавцы и поставщики — это термины соответствующих таксономий в wp_terms, привязанные к этим товарам; у каждого товара есть свой производитель и поставщик, но у разных товаров производители и поставщики могут совпадать и при этом они являются разными терминами в БД). Подскажите, пожалуйста, как можно извлечь весь список продавцов определенной категории товаров, не дублируя их при этом. Не пойму как реализовать эту задачу, пытаюсь с помощьюget_terms()
, но одинаковые продавцы дублируются т.к. это разные термины в БД:$terms = get_terms( [ 'hide_empty' => false, 'orderby' => 'name', 'hierarchical'=> false, 'parent' => $group_material, 'order' => 'ASC', 'taxonomy' => 'seller', ] );
Может быть как то можно их анализировать по полю name каждого термина, но как… или есть другой способ? подскажите, пожалуйста
@yube , я кажется разобрался с данными нотисами, но вопрос остался.
К типу записи asset привязано 3 таксономии — country, groupasset, employer. Таксы и записи я регистрирую в functions.php и у каждой таксы при регистрации указываю атрибут'default_term'
. По той таксе, которая регистрируется первой из трех привязанных к записи, нотис не возникает; но именно та, которая регистрируется первой, т.е. если меняю порядок регистрации, то и нотисы видаUndefined index: таксономия
соответственно меняются и нет нотиса только по первой зарегистрированной таксе, которая привязана к этому типу записи.
Не подскажете, почему так может получаться ? Можно ведь использовать ‘default_term’ для всех таксономий, а не только для одной ?Значит буду пытаться исправлять 🙂
Но почему элемент массива$postarr['tax_input']['groupasset']
не существует?, если таксономия groupasset зарегистрирована, термины её — вставлены wp_insert_term(). Не подскажете как можно устранить данные нотисы ?Понял, @yube , ещё раз спасибо, буду разбираться дальше.
Т.е. в принципе на данные Notice можно не обращать внимания, верно?понял, @yube , спасибо
Позвольте спросить, почему могут возникать Notice вида:Notice: Undefined index: groupasset in C:\xampp\htdocs\budexportcost\wp-includes\post.php on line 4053 Notice: Undefined index: employer in C:\xampp\htdocs\budexportcost\wp-includes\post.php on line 4053
при добавлении записей кастомного типа с помощью wp_insert_post() и затем установкой терминов кастомных таксономий (в частности: country, groupasset, employer) для этих записей при помощи wp_set_post_terms() ? Все записи добавляются нормально, термины привязываются, но на таксу country WP почему-то не ругается. Не подскажете, в чем может быть причина?
Не может же быть такое из-за того, что я привязываю записи только к дочернему термину, а к родительскому — нет ? Когда термин является дочерним и к нему привязана некая запись, то не нужно ведь эту запись привязывать и к его родительскому термину ?@yube , прошу прощения, с вопросом выше разобрался ранее — сам виноват, указывал неверные параметры в wp_insert_term().
@yube , прошу Вашей помощи, не могу понять как в WordPress можно узнать id последней записи из wp_posts и id последнего термина из wp_terms. Не могу найти, может быть есть специальные функции в WordPress для этих целей ? Ведь наверное неправильно узнавать это через стандартные SQL-запросы:
$max_post = $wpdb -> get_var("SELECT MAX(ID) FROM wp_posts")
и
$max_term = $wpdb -> get_var("SELECT MAX(term_id) FROM wp_terms")
?
Подскажите, пожалуйста- Ответ изменён 4 года, 8 месяцев назад пользователем Dmitry Kohan. Причина: уточнил