• Переход с постоянки на фриланс, стоит ли игра свеч?

    @artem78
    Смотрите только в сторону зарубежных бирж - upwork, guru.com, freelancer.com, а наши выбросьте из головы.
    Ответ написан
    6 комментариев
  • Можно ли как нибудь начать работу на фриланс биржах без знания английского?

    teke_teke
    @teke_teke
    programador
    можно. пишите сразу по-русски. помните, что вы -- ценный и перспективный разработчик, поэтому, если им надо -- переведут.
    Ответ написан
    1 комментарий
  • AJAX запрос добавление в корзину?

    maxxannik
    @maxxannik
    Сайты на WordPress + Интернет магазины WooCommerce
    Не проще ли взять WooCommerce где все это уже грамотно сделано? Не стоит пилить коммерческие механизмы если нет знаний и опыта лет 5-10 в теме. Лучше брать готовые хорошие компоненты и отталкиваться от них.
    Ответ написан
    Комментировать
  • Как присвоить внешним ссылкам страницу go.php?

    maxxannik
    @maxxannik
    Сайты на WordPress + Интернет магазины WooCommerce
    Зависит от целей. Зачем вам надо менять все ссылки?
    Если для людей то через JS можно. Если для SEO то надо делать фильтр на уровне php.
    Делать go.php - это дикий костыль. Если это WP то сильно правильней будет сделать endpoint. Через add_rewrite_endpoint(). Или через специальную страницу с шорткодом или отдельным шаблоном.
    Ответ написан
    Комментировать
  • Функциия для таксомий WordPress?

    maxxannik
    @maxxannik
    Сайты на WordPress + Интернет магазины WooCommerce
    вам и нужна wp_list_categories(). там есть волшебный параметр taxonomy, который по умолчанию равен category. Но скажу по секрету его можно поменять :)
    Ответ написан
    Комментировать
  • На что обратить внимание при изучении wordpress?

    deniscopro
    @deniscopro Куратор тега WordPress
    WordPress-разработчик, denisco.pro
    Имею достаточно хороший опыт в создание сайтов.

    Тогда начните с официальной документации по разработке тем.
    Ответ написан
    Комментировать
  • Как сделать шаблон записи не-костыльным способом в Wordpress?

    deniscopro
    @deniscopro Куратор тега WordPress
    WordPress-разработчик, denisco.pro
    В дополнение к ответу Александр .
    Если захочется автоматизации, то можно задействовать хук template_include
    add_filter( 'template_include', 'services_single_template', 99 );
    
    function services_single_template( $template ) {
    
    	if ( is_category( 'services' )  ) {
    		$new_template = locate_template( array( 'services-single-template.php' ) );
    		if ( '' != $new_template ) {
    			return $new_template;
    		}
    	}
    
    	return $template;
    }
    Ответ написан
    Комментировать
  • Можно ли в WP перехватить уже полностью сформированную страницу, чтобы вырезать оттуда определенную строку?

    entity1313
    @entity1313
    Веб-разработчик, проект-менеджер
    Если я правильно понял вашу ситуацию, вам нужно перехватить не всю страничку, а вывод wp_head()

    Учитывая, как именно обрабатывается экшен wp_head, достаточно будет сделать

    ob_start();
    wp_head();
    $head = ob_get_clean();

    После чего что угодно делаете с $head и выводите результат обычным echo.
    Ответ написан
    Комментировать
  • Скрыть запись в посте?

    deniscopro
    @deniscopro Куратор тега WordPress
    WordPress-разработчик, denisco.pro
    $args = array( 'numberposts' => 3, 'post__not_in' => get_the_ID() );
    Ответ написан
    Комментировать
  • А как вы используете MemCached на wordpress?

    maxxannik
    @maxxannik
    Сайты на WordPress + Интернет магазины WooCommerce
    T3 - норм решение для джуниоров и блогов домохозяек. Комбайнер все в одном.
    Однако часто глючит, плохо предсказуем и понять где ошибка бывает не просто. Это следствие его сложности. На сложном функционале я очкую его применять в продакшене.

    Альтернатива - Batache для страничного кеширования в MC. Он прост как молоток. И в случае чего можно через хуки настроить как надо. Надо уметь кодить. Но для тех кто кодить умеет это решение проще и надежней чем T3. Применяется в сетях wp.com & VIP WP на больших нагрузках в продакшене.

    Детали https://wpmag.ru/2014/batcache-wordpress/

    Основы про объектное кеширование https://wpmag.ru/2013/keshirovaniye-wordpress/
    Ответ написан
    3 комментария
  • Плохо ли создавать проекты с нуля? Что значит быть про?

    И вот никак не могу понять, зачем писать ООП классы для, например, изменения группы пользователя, когда это делается 1 строчкой?


    Пишутся не классы. Пишутся объекты. И объект пишется не под изменение какого-либо свойства. Объект описывает пользователя всевозможными свойствами и методами. И в эту обёртку помещается метод изменения группы конкретного пользователя.


    //Типо ООП
    $user->delete;
    //Типо функция процедурная
    delete($user);
    //Один хрен же, нет?


    Так то оно один хрен, да только не один. Абстрактный пример.
    У вас, кроме $user, есть еще $group, $catalogue, $order и еще с десяток объектов, с которые вам нужно будет работать. Теперь представим, что вам нужно будет удалить объекты. В ооп стиле вам нужно будет просто вызвать метод ->delete для каждого объекта. А в процедурном вы будете писать 10 функций delete с разными названиями? Или одна, но внутри вы будете писать 10 проверок, что бы понять, какие данные к вам пришли и как их правильно обработать. А если таких объектов будет 100?

    В ооп есть свои + и -. И ни в коем случае ООП не является панацеей ото всех бед. Где-то процедурный стиль выиграет, где-то ооп. Как мне кажется, профессионал обязан понимать, когда и зачем использовать ту или иную технику или инструмент.

    UPD
    нужно проводить тесты над кодом

    И вы, вероятно, путаете понятия "тестировщик" и TDD
    Ответ написан
    7 комментариев
  • Как добавить много фейковых пользователей в Wordpress?

    Sanes
    @Sanes
    FakerPress или WP-Cli
    Ответ написан
    Комментировать
  • JS против CSS. Что быстрее?

    dom1n1k
    @dom1n1k
    Разумеется, CSS тут лучше и намного.
    Ответ написан
    Комментировать
  • Как в PHP цикле выделить первые элемент?

    @Snewer
    <? $firstFlag = true;  ?>
    <? while ($query1->have_posts()): $query1->the_post(); ?> 
        <article class="<?= $firstFlag ? 'big' : 'small' ?>">
        <!-- ТУТ HTML РАЗМЕТКА -->
        </article>
    <? $firstFlag = false; ?>
    <? endwhile; wp_reset_postdata(); ?>
    Ответ написан
    6 комментариев
  • Как в PHP цикле выделить первые элемент?

    @BorisKorobkov Куратор тега PHP
    Web developer
    CSS:
    article:first-child {
      ...
    }


    PHP:
    <?php $i = 0; ?>
    while...
    <?= $i++ ? 'small' : 'big' ?>
    Ответ написан
    3 комментария
  • Как автоматически добавить запись в Wordpress при заполнении формы Contact Form7?

    deniscopro
    @deniscopro Куратор тега WordPress
    WordPress-разработчик, denisco.pro
    Здравствуйте.

    Вообще, есть же специальные плагины для этого.

    Если нужно именно CF7, то там есть разные хуки. Я как-то пользовался wpcf7_before_send_mail для изменения email-адреса, думаю, он и для Вашей цели подойдет.
    Пример:
    add_action('wpcf7_before_send_mail', 'dco_wpcf7_before_send_mail');
    
    function dco_wpcf7_before_send_mail($contact_form) {
        $submission = WPCF7_Submission::get_instance();
        $data = & $submission->get_posted_data();
        $employee_name = $data['employee-name'];
    
        $post = get_page_by_title($employee_name, OBJECT, 'employee');
        $email = get_post_meta($post->ID, 'employee_email', true);
    
        if ($email) {
            $mail = $contact_form->prop('mail');
            $mail['recipient'] = $email;
            $contact_form->set_properties(array('mail' => $mail));
        }
    }


    Ещё есть плагин Flamingo, который записывает все сообщения, отправленные через Contact Form 7 в виде своего типа записей.

    Ну и ещё один вариант, погуглить как-нибудь так. Вполне возможно, что уже есть готовое решение.
    Ответ написан
    4 комментария
  • Как ускорить загрузку сайта на wordpress?

    maxxannik
    @maxxannik
    Сайты на WordPress + Интернет магазины WooCommerce
    Для простых сайтов и хостингов хватит плагина WP Super Cache.
    Этого хватает для 99% сайтов.

    В более сложных ситуациях надо брать свою машину, админские права, настраивать объектное кеширование, мемкеш/редис и т д. ставить плагин типа Batcache / W3 Total Cache.
    Тут же бывает полезно настраивать CDN.

    В очень сложных ситуациях надо делать балансировщики нагрузки, шардинг БД и т д.

    Все зависит от исходной ситуации и задач. Решений тысячи.
    Ответ написан
    Комментировать
  • Как сделать оценку потенциальной стоимости/сроков проекта, при заказе у фрилансеров?

    @imikh
    Коротко - быстро и дёшево - никак.

    Менее коротко - наймите профессионала/профессионалов, которые этим занимаются (мы, например, занимаемся). Я серьёзно. Это самый эффективный метод (и по деньгам, и по времени и по нервам), если только вы сами лично не планируете освоить профессию бизнес-аналитика.

    Более подробно
    Если вы попросите разных людей пробежать марафон - люди назовут разное время и разную стоимость. Никакой "правильной" оценки по срокам и бюджету в реальности не существует.
    Или другой пример. Гораздо более простой по сравнению с (почти) любым ИТ проектом продукт - хлеб, который выпускается массово и опыт его создания у человечества - тысячелетний, если не больше. Так вот 1) один и тот же хлеб в разных магазинах стоит по разному 2) всяких хлебов в магазине десятки 3) разные люди его согласятся делать за разные деньги и сроки.

    Что делать
    Никаких волшебных методик нет. Ваша задача требует кучи работы так или иначе. Создать Техническое Задание и оценить его, тем более по каждой фиче - это куча работы для высококвалифицированного и опытного (а значит дорогого) специалиста.

    1. Определитесь, с кем будете работать. Это должно не сильно зависеть от денег (в т.ч. потому что у вас ещё нет оценок), а больше от того, насколько вы доверяете друг другу, насколько вы сработались, и вам комфортно работать вместе. (Отсутствие доверия или несовместимость методов работы - слишком большой риск провала проекта, мы к примеру за такие проекты даже не берёмся).
    2. Сядьте вместе с исполнителями или его представителем и разбейте проект на фичи, можно довольно грубо. Т.е. составьте нумерованый список всех фич. В экселе или гугл таблицах.
    3. Исполнитель их оценит, проставит свои оценки в соседних колонках. Оценки тоже будут довольно грубые. По деньгам и срокам скажем. Т.е. этот список отдаёте команде исполнителя, команда оценивает. Это может занять часы или дни (для проекта в 2 месяца). Понятно, что фичи могут быть взаимосвязаны, оценки тоже и т.д. Это держим в уме (в очевидных случаях) или делаем пометки о зависимостях рядом в колонке (в неочевидных).
    4. После этого вы смотрите на оценки и решаете что делать, а что нет.
    5. С теми фичами, что вы решили оставить, работаете более подробно. Пишете более подробную спецификацию, делаются проверки, оценки корректируются, план работ ещё раз уточняется и т.д.

    Вот примерно так. Это общий принцип. Т.е. сначала оцениваете грубо, чтобы не тратить времени, затем те фичи, которые влезают в бюджет и сроки, оцениваете более точно. Это экономит время и деньги. Вам советовали написать сразу как можно более точное ТЗ - это не самый эффективный вариант. Вы потратите время на детальное продумывание и описание того, что в проект не войдёт.
    Если вы этого ни разу не делали, будет много подводных камней, больших и малых, факапов серьёзных и не очень. Но этому не научиться на Тостере или в книжках, только опыт.

    Дальше вы начнёте делать проект, и что-то пойдёт не по плану, поэтому нужно будет работать с Измненениями в Проекте и корректировать план работ уже по ходу. Но это несколько другая история.
    Ответ написан
    2 комментария
  • Как сделать оценку потенциальной стоимости/сроков проекта, при заказе у фрилансеров?

    opium
    @opium
    Просто люблю качественно работать
    Во первых оценка большого проекта долгий и сложный процесс, так как требует глубокого погружения, ещё одна особенность оценка не точная.
    Так что быстро просто и бесплатно вам никто более менее точно не оценит проект
    Ответ написан
    Комментировать