• Как в woocommerce поставить всем товарам без категории или с пустой категорией статус черновик?

    wppanda5
    @wppanda5 Куратор тега WordPress
    WordPress Mедведь
    $terms =  get_the_terms( $post_id , 'product_cat' );
    if ( empty( $terms ) ) {
         wp_update_post([
            'ID'    =>  $post_id,
            'post_status'   =>  'draft'
            ]);
    }
    Ответ написан
    Комментировать
  • Как загрузить свой шаблон на готовую тему WordPress?

    wppanda5
    @wppanda5 Куратор тега WordPress
    WordPress Mедведь
    Ну материала в интернете, как грязи, гуглите как создать свою тему и там будет и про шаблоны
    Ответ написан
    Комментировать
  • Как вывести название товара в описание (woocommerce, переменная)?

    wppanda5
    @wppanda5 Куратор тега WordPress
    WordPress Mедведь
    add_filter('the_content' , function($content) {
    
    $content = str_replace('%%title%%', $post->post_title, $content);
    
    return $content;
    }, 100);
    Ответ написан
    2 комментария
  • Как передать диапазон дат и регион для фильтрации ACF?

    wppanda5
    @wppanda5 Куратор тега WordPress
    WordPress Mедведь
    https://www.php.net/manual/ru/datetime.formats.rel...
    $year = 2021;
    $month = 'February';
    
    $first_day =  date( 'd.m.Y', strtotime( sprintf( "fist day of %s %s ", $month, $year ) ) );
    $last_day =   date( 'd.m.Y', strtotime( sprintf( "last day of %s %s ", $month, $year ) ) );
    Ответ написан
    2 комментария
  • Не выводиться select из acf?

    wppanda5
    @wppanda5 Куратор тега WordPress
    WordPress Mедведь
    $type = get_field_object( 'language' );
    
    	if ( ! empty( $type ) ) :
    		$options = '';
    		foreach ( $type[ 'choices' ] as $value ) {
    			$options .= sprintf( '<option value="%1\$s">%1\$s</option>', $value );
    		}
    
    		printf( '<select>%s</select>', $options );
    	endif;
    Ответ написан
    Комментировать
  • Каков план личностного развития PHP программиста с нуля?

    konst20
    @konst20
    Программист, преподаватель, немного электронщик
    Есть опыт помощи таким начинающим.
    реальный срок до запуска джуниора - полгода, никого не слушайте.

    Важные моменты
    веб-программирование на базе PHP - это стек технологий: PHP/SQL/CSS/HTML/JS + Linux хотя бы азы + знание важных инструментариев (FTP, Git/SVN, работа с БД)
    чистый PHP плюс даже все перечисленное выше - не особо нужно и не интересно. Нужно знание конкретных платформ: фреймворков и/или CMS. (Почитайте вакансии на Хантиме по запросу PHP, обратите на это внимание). Навскидку самые востребованные (спорно конечно): Yii фреймворк, CMS Битрикс и Wordpress.

    Как начать?
    Смело на амбразуру!
    1) Установите у себя рабочую среду LAMP/WAMP - Apache, PHP, MySQL. Для этого возьмите пакет Denwer или OpenServer, что больше понравится. Сделайте Hello World просто как HTML, потом на PHP, потом алертом на JS. Порадуйтесь.
    Установите все редакторы кода. Кто там вам будет рекомендовать блокнот или notepad++ - не слушайте. Варианты: если машина мощная (4+ Гб памяти и пр.), берите редактор phpStorm (для php/html/css/js). Если не очень мощная - берите komodo edit. Для работы с БД инструмент встроен в Denwer/OpenServer, это phpMyAdmin
    2) Идеально, если вы договоритесь сделать кому-нибудь сайт. Бесплатно или за небольшую плату. Если нет - сами себе поставьте задачу: сайт про котиков/про детей etc. Красивый сайт, с галереей, с эффектами, с материалами
    Возьмите CMS Wordpress и попытайтесь сделать сайт у себя на компьтере. Настоящий сайт, во всей красе, как вы хотите. Правьте его, смотрите код, экспериментируйте. Сообщество огромное, вы найдете ответы на все свои вопросы
    Потратьте чуть денег, купите себе домен и хостинг, залейте сайт на хостинг.
    Порадуйтесь. Похвастайтесь.
    3) Ищите в сети тестовые задачи и решайте их, изучайте материалы собеседований, вопросы - их много.
    4) Зарегистрируйтесь на odesk.com под каким-то фейковым email, пройдите тесты по PHP, CSS, HTML, jQuery, Wordpress, а во время прохождения делайте скриншоты вопросов. Потом изучайте эти вопросы, ищите ответы, далеко не обязательно на все. Тесты вы, конечно, не пройдете, но вам нужны только вопросы.
    5) Постоянно следите за вакансиями "PHP-программист", "веб-программист" на Хантиме, на hh.ru и подобных ресурсах.

    И да, как только напишете первую строку кода - начните читать про Git. Как будете готовы - сразу внедрите у себя Git, вы будете очарованы его возможностями.

    Вот как раз на полгода.
    После этого у вас появится масса информации, и дальше вы сами сориентируетесь.
    Ответ написан
    11 комментариев
  • Как вывести наиболее частые повторы JSON?

    Immortal_pony
    @Immortal_pony Куратор тега PHP
    $encodedData = '{"result":[{"id":"103513","user":"user_repeat","time_upd":"2020-12-09 08:45:02"},{"id":"103517","user":"user_repeat","time_upd":"2020-12-09 08:45:02"},{"id":"103522","user":"user_no_repeat","time_upd":"2020-12-09 08:45:02"}]}';
    $decodedData = json_decode($encodedData, true);
    $userRepeats = [];
    
    foreach ($decodedData['result'] as $info) {
        if (!array_key_exists($info['user'], $userRepeats)) {
            $userRepeats[$info['user']] = 0;
        }
        
        $userRepeats[$info['user']]++;
    }
    
    arsort($userRepeats);
    $mexRepeatsUser = [key($userRepeats)=>current($userRepeats)];
    
    var_dump($userRepeats);
    var_dump($mexRepeatsUser);
    Ответ написан
    1 комментарий
  • На каком хостинге делать средний проект?

    saboteur_kiev
    @saboteur_kiev Куратор тега Веб-разработка
    software engineer
    У вас какое-то приложение со сложной аналитикой и огромной базой данных, что на 1 человека отчеты и страницы генерируются минуты и часы?

    Если нет, то 150 просмотров в день выдержит даже фитнес-браслет, если на него веб-сервер поставить.

    Берите любой хостинг.
    Ответ написан
    3 комментария
  • С чего начать создание сайта?

    WblCHA
    @WblCHA
    Самое главное, с чего надо начать, научиться пользоваться гуглом.
    Пока что твой скилл в этом деле стремится к нулю.
    Ответ написан
    1 комментарий
  • Как создать язык программирования?

    like-a-boss
    @like-a-boss
    Признайся,тебяТянетНаКодМужика,ты—программный гей
    Все создатели ЯП именно так и начинали – с вопроса на тостере.
    Ответ написан
    6 комментариев
  • Как убрать подчеркивание у ссылок?

    iiiBird
    @iiiBird Куратор тега CSS
    Пока ты спишь - твой конкурент совершенствуется
    ну раз там есть ссылки - у ссылок и убирай
    nav a {text-decoration: none;}
    Ответ написан
    1 комментарий
  • Как прописать в php добавление на 1?

    maddog670
    @maddog670
    foreach($posts as $k => $post){ 
                            setup_postdata($post); ?>
                        <div class="tab">
                            <input type="checkbox" id="tab{$k}" name="tab-group">
                            <label for="tab{$k}" class="tab-title"><?php the_field('vopros', $post->ID) ?></label> 
                                <section class="tab-content"> 
                                    <?php the_field('otvet', $post->ID) ?>
                                </section>
                        </div> 
                            <?php }
    Ответ написан
    3 комментария
  • Как через шорткод вывести wp_nav_menu внутри HTML структуры?

    SeaInside
    @SeaInside
    15 лет пилю все эти штуки
    wp_nav_menu(['echo' => false]), м? :)
    Оно по умолчанию его выводит, а не возвращает, вот и выводится сначала меню, потом всё остальное.
    Ответ написан
    Комментировать
  • Регулярное выражение для замены img на picture?

    0xD34F
    @0xD34F Куратор тега JavaScript
    document.querySelectorAll('img').forEach(n => {
      const src = n.getAttribute('src');
      if (!/^https?:\/\//.test(src)) {
        const picture = document.createElement('picture');
        picture.innerHTML = `<source srcset="${src}" type="image/svg+xml">${n.outerHTML}`;
        n.parentElement.replaceChild(picture, n);
      }
    });
    Ответ написан
  • Как снизить зависимость от разработчиков?

    delphinpro
    @delphinpro
    frontend developer
    ограничения редактирования CMS, т.е. если мы захотим что-то дописать - это будут костыли,

    Вовсе нет.
    CMS - это не всегда закрытый ящик. Если взять к примеру joomla, wordpress, modx (из тех что я знаю) — то они достаточно гибко дописываются. Тут вопрос в том, насколько хорошо разраб знает эту систему. Если хорошо, то он напишет расширенный функционал не "на костылях". С другой стороны, даже если говорить о фреймворке и о разработчике, который плохо его знает, то он и там будет писать костыли, только потому, что не в курсе имеющихся средств и инструментов из комплекта поставки или популярных пакетов.
    Резюмируя — количество костылей обратно пропорционально квалификации программиста, вне зависимости от используемого инструмента.

    CMS или Framework зависимость от разработчиков будет меньше?

    Зависимость тем меньше, чем популярнее выбранное решение. Найти разработчика на условный вордпресс проще, чем на неизвестную AweCMS.

    Есть ли удобный способ для заказчика проверить качество кода, который пишет разработчик?

    Тут я не претендую на истину, но мне кажется единственный способ проверки, не имея собственной квалификации — нанять аудитора. Но тут возникнет вопрос компетентности аудитора =)
    Ответ написан
    7 комментариев
  • Как снизить зависимость от разработчиков?

    tundramani
    @tundramani
    секрет простой - разработкой должны заниматься только разработчики
    а не эффективные манагеры которые не умеют разрабатывать

    должен быть главный разраб который отвечает за качество
    он контролирует работу разрабов и нанимает их на работу

    если так не делать то будет то что как обычно есть в наших краях - отвратительный продукт

    аналогично и в работе нашего государства - разработкой занимаются некомпетентные люди
    Ответ написан
    Комментировать
  • Как часто нужно использовать заголовки на сайте?

    delphinpro
    @delphinpro
    frontend developer
    У вас начальная стадия SEO головного мозга. Это опасно.
    Переключитесь, пока не поздно. Ориентируйтесь на контент, а не на поисковики.

    Далее серьёзно.

    Нужно понять назначение основных семантических элементов html — h1-h6, header, footer, section, article, main, aside.
    Разметить основное содержимое страницы - main. Это единственный элемент на странице.
    Разметить второстепенное - aside, сколько угодно
    Разметить основной контент - article, section, header, footer
    Насчет article и section многие спорят. Насчет того, что во что вкладывается. Ну я не буду настаивать на каком то варианте, почитайте доводы обеих сторон в интернете.
    Разметить отдельные смысловые блоки контента внутри article/section - h1-h6, header, footer

    Вот и всё.
    Дальше детали. Main должен иметь заголовок . используем h1.
    У article может быть свой заголовок h1 (а может и не быть) и любое количество подзаголовков h2-h6
    Ну и так далее.

    В общем нужно почитать о назначение данных элементов. Можно в спецификации, если осилите, можно статейки поискать с разжевыванием.
    Ответ написан
    5 комментариев
  • Как сделать якори на сайте с повторами id?

    Kozack
    @Kozack Куратор тега HTML
    Thinking about a11y
    Я так почитал комментарии, и, Автор, вопрос ты задал крайне непонятно )) Если я правильно понял вашу проблему, то:
    Да, по спецификации HTML на странице может быть только один элемент с уникальным ID. Следовательно любой код, браузер работает исходя из этого: Нужно проскролить к такому-то элементу. Находится первый подходящий. Поскольку предполагается что других таких быть не может -- поиск прекращается.
    Вариантов решения у вас два:
    1. Не вставлять одну из секций для устройств. например по условию wp_is_mobile.
    2. На клиенте, удалять один из блоков посредством JS.
    Ответ написан
    1 комментарий
  • Почему не срабатывает это регулярное выражение?

    0xD34F
    @0xD34F Куратор тега Регулярные выражения
    Регулярному выражению .?a.? соответствует подстрока aab. Дальше вы её проверяете на соответствие выражению ab - успешно, замена не производится.

    В целом, ерундой какой-то пытаетесь заниматься. Делайте так:

    preg_replace('~(?<!b)a(?!b)~', '[совпадение]', $str)
    Ответ написан
    Комментировать
  • Ошибка syntax 'foreach'?

    t-alexashka
    @t-alexashka
    Сразу пишу legacy код
    У вас структура switch нарушена. case внутри foreach не может быть в данном случае. Вы как будто в текстурах застряли :)
    Ответ написан
    1 комментарий