Задать вопрос
  • Как вычистить css - неиспользуемые классы?

    Андрей Соколов: регулярки в 'ignore' решают данную проблему очень просто. Для классов-модификаторов, которые используются скриптами, добавляйте префикс js- и его же игнорируйте регуляркой. Вот и все.
  • Как вычистить css - неиспользуемые классы?

    Андрей Соколов: Вы документацию читали? Есть параметр 'ignore', куда прописываете те селекторы, которые нельзя вырезать (поддерживает как конкретно селекторы, так и регулярки). Можно также перед селектором в CSS добавить коммент /* uncss:ignore */
  • Как реализовать вывод записей в виде колонок разного вида?

    IceJOKER: Понял. Для интереса - катит)
    У меня недавно была аналогичная задача с этими селекторами, до этого сам не знал что их можно вот так склеивать. Удобная штука.
  • Как реализовать вывод записей в виде колонок разного вида?

    Интересное решение, рабочее. Плюс в карму за ванильный js :) Но все же - нафига дергать js если это решается чистым CSS
  • Какую расширяемую платформу для блогов выбрать?

    Александр Елисеев: На здоровье) Начинайте делать, будут вопросы по ходу уже по конкретным кусочкам - спрашивайте.
  • Как вылечить сортировку кириллицы в get_terms?

    Крил: Ну, если дело в том, что ячейки таблицы в бд у вас с одной кодировкой, а данные внутрь записаны с разной - где с такой же, а где с другой, то так и будет, по логике. Впрочем, не берусь гарантировать, давно не сталкивался с подобными глюками, лет 8. Нифига уже из тех старых костылей не помню
  • Как сделать автоматический перевод qTranslate X?

    artyom_jeman: а нам в воскресенье заняться нечем))) Я холостяк, мне к 8му марта готовиться не надо :)
  • Как сделать автоматический перевод qTranslate X?

    dimasmagadan: Ишь как пригорело))

    По контрибьюторству - ну вы собсно в холивар и ушли. Спорить смысла действительно нет, о чем я написал в предыдущем комменте. Если вам комфортнее, если "последнее слово" остается за вами - пусть так и будет, закрыли тему.

    По плагину - аккурат точь в точь то, что я говорил - ПРОТОТИП, PROOF OF CONCEPT. Все остальные ваши "ограничения" - это оправдание. По сути, вы уложились в эти пресловутые 2 часа, но то, что вы сделали, не является готовой работой, и клиентом принято быть не может. Я уж молчу про то, чтобы самому быть удовлетворенным результатом за который не стыдно. Да и с этим кодом вы лукавите. С магазином :)

    Не сделано вообще, по вашим же словам:

    - нет работы с реальными используемыми языками и с произвольным их количество (надо из qTranslate X получать активные, получать язык по умолчанию и работать с ними, это +2 функции) - 15 минут
    - документирования нет, ну да ладно, пусть это будет моя персональная заморочка - 30 минут
    - крона нет, а с ним как раз предостаточно нюансов - задача, обработчик ошибок и повторное назначение, garbage collector и тд + отладка - смело добавляйте 2 часа сверху. Я лично к крону отношусь положительно, но имея опыт работы с ним, отношусь к также и осторожно. - 2 часа
    - вы делаете для юзера, значит опции нужны, хардкодить нельзя (то же касается языков) - 30 минут
    - переводите только тело поста, нет ни заголовка, ни мета. Не совместимо ни с одним плагином, который добавляет мета - SEO, ACF, WooCommerce и тд. Никуда не годится, голый прототип. Для того, чтобы отслеживать корректно все мета - еще часа 2 накидываем сверху
    - код работает только с постами, не работает со страницами custom post type (и уж тем более не учитывает какие post types разрешены для перевода) - еще 1 час
    - код не работает с taxonomies - и встроенными, и кастомными. И также не учитывает настройки qtranslate - еще полчаса (reuse кода из предыдущего пунтка)
    - код побъет кучу лишнего - например shortcodes - минимум 1 час
    - запросы кешировать можно, но в данном случае необязательно

    Итого, сверху: 7 часов 45 минут. Как я и говорил изначально.

    Повторюсь, вы за час слепили proof of concept. Годно, но это не конечный результат который можно отдавать за деньги. Вы создали клиенту больше проблем, чем у него было в самом начале. По сути у вас 3 простые фичи - взять тело поста, отправить на апишку на перевод, забрать из апишки ответ и сохранить. Этого недостаточно, чтобы брать за это деньги и называть это работой.

    + беглое code review:

    - нет документации
    - захардкодили важные данные
    - нет никакой валидации данных
    - ваш WP_Query берет крайний пост, очень грубая работа, чревато косяки и перезаписью данных из другого поста

    > На мой взгляд, если у вас по задачам итоговое время всегда и в несколько раз превышает предварительную оценку, вы что-то делаете не так.
    Совершенно верно. Были случаи лет 10 назад, каюсь. Горьким опытом научен, что "эгэгэй, гасконь!" - плохая практика. С тех пор предпочитаю считать вдумчиво.

    > Но если и эти правки делать, то тогда я бы как вы, не смог бы уложится в заявленный бюджет/сроки)
    Отож! Вот я об этом же. А без этих правок - это голый прототип, а не готовая работа.

    ЗЫ: Вот честно, вы же сами прекрасно все понимаете. Зачем этот спор? Вас так выбесило мое "контрибьютор", что вы готовы угробить половину выходного дня на то, чтобы доказать всему миру, что я неправ? :) Я "пушу" мультиязычность в ядре при каждой возможности и активно работаю с несколькими плагинами - Polylang, qTranslate X (ранее с оригинальным qTranslate), WPML, в том числе и контрибьчу, в том числе иногда и код (не считая отлов багов и тестирование). Если уж вас так коробит от этого слова - читайте как "хорошо знаю код плагина".
  • Поиск только по заданной таксономии Wordpress?

    Андрей: Задача как раз не сложная, вопрос только в отладке. Я сейчас попробую на локалке сделать, а то код выше из головы написан, не тестил. Может быть где-то ошибку допустил.
  • Как вылечить сортировку кириллицы в get_terms?

    Крил: Значит передается, с запросом все ок. 99% проблема в данных, в кодировке.
  • Поиск только по заданной таксономии Wordpress?

    Андрей: Окей. По идее аяксовый поиск должен юзать основной цикл, но посмотрим. Через пару минут обновлю свой ответ, потестите на страничке поиска сначала, а потом уже аякс.
  • Поиск только по заданной таксономии Wordpress?

    Андрей: о, это совсем другая задача, тут сложнее. То есть, мы все еще ищем по постам как обычно, просто фильтруем результаты - только те посты, у которых есть хоть один термин из заданной таксономии, так?
  • Как сделать автоматический перевод qTranslate X?

    dimasmagadan:
    > ну, я тогда контрибьютор виндов, фаерфокса, скайпа и еще кучи программ, к которым я отправлял отчеты о падениях. По вашей логике так правильно получается?

    Ну вы уж совсем упрощаете. Dev-митинги где идет обсуждение и принимаются решения посещали? Раннее тестирование плотное проводили? Багрепорты писали, воссоздавали у себя баги, отмеченные другими? Находили и предлагали решения этих баг? Документацию писали? Или может ваши ответы из оф. форума поддержки мигрировали в документацию? Если да - тогда поздравляю, вы контрибьютор. Не надо делать из этого слова фетиш. Контрибьютор - этто не только програмер. Это любой человек, любой квалификации, любой профессии, который внес полезный вклад в программный продукт. Все остальное - холиварное семантическое задротство.

    > Получается сейчас они пока сами не решили, убрать перевод или нет.

    Совершенно верно. Как я и сказал, эта фича левая, к qTranslate X отношения не имеет и не поддерживается. Наследие оригинального форка, с первых дней работы над форком оно там, и если сделаете diff'ы, то увидите, что там практически ничего и не менялось с тех пор. По сути это legacy code, к тому же интегрированный со сторонним проектом. Именно поэтому в одном из обсуждений было принято решение разобраться с ним - выпилить или переделать/доделать. Для этого и спросили юзеров.

    > У человека, который задал вопрос, совсем другая задача. Ему нужно, чтоб текст автоматически переводился. Не нужна оплата, подтверждение заказов и тп. Ну никак не будет там 900 строк.

    Изучите код, и подобных вопросов не возникнет. Нет там никакой оплаты вообще. Все это - на стороне того сервиса. В этом файлике как раз тот функционал, о котором выв говорите.

    > Убедили. Сейчас, напишу основное, посчитаю и время и объем кода

    Ну, если вы уж прям уперлись - пишите. Но это трата времени. "Напишу основное" - это как раз вот та беда, о которой я изначально говорил, "на полшишечки беременна". Это в лучшем случае будет прототип / proof of concept, но даже не minimum viable product. И чтобы превратить этот прототип в реально работающую фичу, понадобятся пару часов тестирования. Плюс документирование кода. Вот вам и рабочий день, про что я изначально сказал сразу. И никак не 1 час (ну ок, 2). Поверьте, моя реакция изначальная аналогична - "да **ли тут писать, запросил апи, записал между тегов, если ошибка какая-то - кинул в крон, ну добавил еще мусорособрщик". Но опыт написания плагинов с такой вот гасконской оценкой показывает, что в реальности конечное затраченное время в несколько раз превышает первичную оценку. Потому что нюансы.
  • Поиск только по заданной таксономии Wordpress?

    Андрей: оу... пишите сразу - уровень новичок :) Моя догадка по поводу поискового слова = термин таксономии верна? Если да - сейчас обновлю код. Вставлять в functions.php вашей темы.
  • Как вылечить сортировку кириллицы в get_terms?

    Крил: не, внутри фильтра надо) примерно так:
    function debug_data( $orderby, $args, $taxonomies ) {
        var_dump( $orderby );
        var_dump( $args );
        die();
    }
    add_filter( 'get_terms_orderby', 'debug_data' );