• Почему пропала favicon в результатах поиска?

    ProjectSoft
    @ProjectSoft
    linardo самая хорошая практика это расположение иконок в корне сайта. Оно и правильней и первый же запрос, даже если иконка не прописана в html, за иконкой будет в корень сайта. Соответственно и в шаблоне должен быть путь иконки к корню сайта, а не как он устанавливается в WP. Это моё имхо и я его всегда придерживаюсь.
    Ну и ответ rootnoroot тоже верен.
    Написано
  • Как генерировать закругленный QR-код с ссылкой на запись WordPress?

    ProjectSoft
    @ProjectSoft
    QR Code была и есть ссылка, контакт, информация, настройка. Безбашенно пользоваться не стоит, но...
    На GitHub хоть пытались искать?
    Дам первую ссылку php-qrcode
    Играйтесь с настройками.
    Написано
  • Почему не делают табы радио-кнопками?

    ProjectSoft
    @ProjectSoft
    Существовать инпутам вне формы - можно. А вот форме без инпутов - нельзя.
    И кто сказал, что нельзя изменить якорь страницы? Опять отвечу - можно.
    Написано
  • Можно ли конвертировать/сохранить динамически сгенерированную js страницу в статичный html-файл?

    ProjectSoft
    @ProjectSoft
    Евгений Обыкновенный, можно разными инструментами. Всё зависит от извращённости.
    Можно тупо копировать весь сгенерированный DOM из панели разработчика (DevTools) в браузере и заканчивая инструментами NodeJS https://node.dev/post/exporting-a-web-page-as-pdf-... и так далее...
    Написано
  • Некоторые слова из текста выпали, как сделать один общий текст?

    ProjectSoft
    @ProjectSoft
    Артём Ихсанов, зачем вообще здесь fixed или absolute?
    Вы сначала сверстайте без указания позиций. Для отступления от верха используйте margin-top, снизу - margin-bottom, слева - margin-left,, справа - margin-right.
    Если margin не работает сверху, то родителю нужно задать clearfix стиль
    .clearfix::before,
    .clearfix::after {
    	display: table;
    	content: "";
    	clear: both;
    }

    Пример снова обновлён. Обязательно посмотрите разницу в двух одинаковых блоках. И на что повлиял класс .clearfix
    Написано
  • Некоторые слова из текста выпали, как сделать один общий текст?

    ProjectSoft
    @ProjectSoft
    Артём Ихсанов, отказаться от fixed и научиться верстать ))) Учиться, учиться и ещё раз учиться...
    Да же я. Умею и уже дофига чего в работе, но всё-равно - учусь. Этот процесс никогда не закончится... )))
    Написано
  • Некоторые слова из текста выпали, как сделать один общий текст?

    ProjectSoft
    @ProjectSoft
    Артём Ихсанов, как это? Ещё как поменяется. Если конечно вы не переопределите в стиле значение block.

    У вас по идее должно быть так
    <div class='main-text'>
       <p class='othertxt'>ООО <span class='mn'>«Стар-Ойл»</span> осуществляет розничную реализацию светлых нефтепродуктов и сжиженного автомобильного газа ведущих Российских производителей, а также сопутствующих товаров и услуг через собственную сеть АЗС, расположенных в Тюменской области.
        </p>
    </div>
    Написано
  • Некоторые слова из текста выпали, как сделать один общий текст?

    ProjectSoft
    @ProjectSoft
    Артём Ихсанов, почему вы оборачиваете его в тег абзаца p?
    Для этого существует строчный тег span.
    Подробно
    Написано
  • Автоматическая отправка писем через php?

    ProjectSoft
    @ProjectSoft
    Tink312 для начало изучите функцию mail
    Получилось отправить? Если нет, то нужно бы понять, что у вас там локально установлено и как настроено. Вот здесь могут по идеи у вас возникнуть проблемы. Но они все решаемые.
    Далее перейдём к правильной отправке писем через SMTP вашего почтового ящика. Очень рекомендую использовать PHPMailler. По примерам сможете настроить отправку.
    Далее у вас могут возникнуть проблемы о неподтверждённой почте. Гуглим, Яндексуем, ... и находим информацию, как настроить DKIM вашего почтового сервера, если он у вас совпадает с доменным именем вашего сайта. И так далее... Чтобы правильно настроить отправку писем.
    Теперь сохраните сессию вошедшего пользователя, установите куку на время пока пользователь у вас на сайте и проверяйте наличие куки. Далее проверяете.
    Если сессия существует - проверяем существование куки - куки нет - создаём куку - отправляем письмо.
    Здесь вы можете придумать свою удобную для вас логику.
    Кука на время сеанса пользователя устанавливается так setcookie("имя_параметра", "значение", 0, "/");
    Написано
  • Как заставить этот css работать в Tampermonkey?

    ProjectSoft
    @ProjectSoft
    Создайте свой скрипт в Tampermonkey.
    Удалите всё в нём и вставьте свой код:
    JavaScript
    // ==UserScript==
    // @name         Ответ на вопрос
    // @namespace    https://qna.habr.com/q/1332584
    // @version      1.0.0
    // @description  Как заставить этот css работать в Tampermonkey?
    // @author       ProjectSoft
    // @match        http*://*/*
    // @icon         data:image/png;base64,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
    // @grant        none
    // ==/UserScript==
    (async function() {
        'use strict';
        const textCss = `:not(:defined):not(faceplate-auto-height-animator,faceplate-dropdown-menu,faceplate-expandable-section-helper,faceplate-hovercard,faceplate-tracker){visibility: visible !important;}`,
              body = document.querySelector("body"),
              style = document.createElement('style'),
              p = document.createElement('p');
        style.type= "text/css";
        p.style.color = 'white';
        p.style.backgroundColor = 'red';
        body.appendChild(style).textContent = textCss;
        body.appendChild(p).textContent = 'Вставлено здесь.';
    })();

    В настройках скрипта в разделе «Общие» установите
    Скриншот
    65b7df21c7a03308587660.png
    Написано
  • Как объединить файлы xlsx/xls в один через phpSpreadSheet?

    ProjectSoft
    @ProjectSoft
    Понимаю, что это неправильно, но так файл начал создаваться (как для xls, так и для xlsx) и все стили подтянулись. Ну и не пишет, что файл поврежден.

    Ну так время отправить изменённый код в пул для репы PHPOffice/PhpSpreadsheet и описать ошибки и метод лечения.
    Я лично не считаю это "неправильным". Наоборот, даже очень правильно. Вы нашли ошибку и сообщили о ней.
    И даже очень возможно вы найдёте решение именно там, при обсуждении ваших коммитов.
    Написано
  • Как вставить инлайновый скрипт на DOM веб страницы при разработке расширения для гугл хром?

    ProjectSoft
    @ProjectSoft
    Artem Tsarev чтобы вставить скрипт в контент страницы - https://developer.chrome.com/docs/extensions/refer...
    Смотри по документации и какой манифест используешь (V2 или V3).
    Для V3 - https://developer.chrome.com/docs/extensions/refer...
    Естественно в манифесте нужно разрешить доступ к странице.
    Как помнится, напрямую со скриптами на странице работать не получится. Но для себя можно сделать очень многое.
    Написано
  • Как победить 504, грузя большой файл на s3?

    ProjectSoft
    @ProjectSoft
    yarovikov, а кто сказал, что настройками ты можешь полностью регулировать из php? Это ни всегда так. И это правильно.
    Даже установка значений в htaccess не всегда должна приводить к ожидаемым результатам. И это тоже правильно.
    Всё зависит от глобальных настроек и то, как разрешил админ управлять этими настройками. ))) Это реально серьёзная тема.
    Поэтому думаю, что стоит включить лог ошибок на сервере и отследить более полную картину происходящего.
    Просто опираясь на подобные ошибки без полного лога, это как стрелять из пальца по уткам.
    Извиняюсь.
    Написано
  • Как переключаться между поддоменами без геолокаций?

    ProjectSoft
    @ProjectSoft
    Если честно, то вопрос очень простой.
    Даже если писать в куку, то в htaccess ты можешь переопределить поведение уже по состоянию этой самой куки.
    Это только направление, а дальше всё зависит от той самой системы, которую ты используешь.
    Не можешь - фриланс, хочешь - только разбираться самому, гуглить, искать, решать...
    Написано
  • Как динамически у квиза вывести шаги и давать класс активному?

    ProjectSoft
    @ProjectSoft
    Александр Васильев, Даниил Гладыш, ребята, вы настолько дали расширенный ответ, что реально, я лично, не могу пройти мимо ваших ответов.
    Для anmkh, осталось только правильно обернуть всё это в код. В логический и правильный, но это уже другая история..
    Вам же только БРАВО!.
    anmkh, вы можете отслеживать все события, которые возникают непосредственно в форме.
    Слушай форму, а не то, что вокруг неё. Инициализируй скрипт только тогда, когда форма доступна. Инициализация скрипта подразумевает под собой то, что ты навешиваешь события сам на все контролы, которые ты сам хочешь отследить. И только ты сам можешь от этих событий отписаться или переопределить эти события под своё усмотрение.
    Может быть я сложно навожу на мысль, но твой ход событий правильный.
    Написано
  • Как изменить позицию курсора при использовании автозаполнения?

    ProjectSoft
    @ProjectSoft
    Александр Дио, не знаю. Я всё-равно не смог отловить баг.
    Написано