Ответы пользователя по тегу HTML
  • Как лучше делать пагинацию при натяжке на WordPress?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Пагинация в WordPress уже встроена из коробки, даже 2, с гибкими настройками. Первая - простая "вперед / назад", вторая - с настраиваемыми номерами страниц и тд.

    Ну а внешний вид (дизайн) с помощью CSS делаем.
    Ответ написан
    1 комментарий
  • Не работает ajax сервер WAMP?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Ошибки нужно читать, они содержат детальное описание проблемы. Разобьем вот эту ошибку на кусочки:
    Notice: Undefined index: text in D:\Wamp\www\tost\index.php on line 12


    1. Notice: - ошибка уровня notice, по сути даже не ошибка, а уведомление.
    2. Undefined index: text - индекса "text" не существует, это говорит о том, что вы пытаетесь обратиться к индексе "text" какого-то массива, но такого индекса (элемента массива) не существует.
    3. D:\Wamp\www\tost\index.php on line 12 - а вот это конкретное место в вашем коде где эта ошибка возникла. Это строка 12, она содержит вот такой код: echo 'Данные приняты - '.$_POST['text'];

    Что с этим кодом не так? Вы пытаетесь вывести элемент массива $_POST под индексом "text", но еще до того, как вы отправили данные этим самым методом POST. Чтобы этого избежать, необходимо выполнить проверку:

    <html>
    <head>
        <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
        <title>Document</title>
        <script src="jquery-3.3.1min.js"></script>
        <script src="js.js"></script>
    </head>
    <body>
    <h1>Нажать</h1>
     
    <?php
    if (isset($_POST['text'])) {
        echo 'Данные приняты - ' . htmlspecialchars($_POST['text']);
    } ?>
     
    </body>
    </html>


    В этом случае мы сначала проверяем, чтобы данные были действительно отправлены, и только тогда их выводим. Кроме того, мы используем https://www.php.net/manual/en/function.htmlspecial... чтобы обезопасить себя.
    Ответ написан
    Комментировать
  • Какую программу использовать для написания мобильного сайта?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Кроме обычных браузеров есть еще удобные инструменты типа Sizzy, Polyplane и тд. Я использую Sizzy - весьма удобная штука. Кроме одновременного синхронного просмотра есть кучка очень полезных фич:

    5e7747d85c65f261952774.jpeg
    Ответ написан
    7 комментариев
  • Влияние класса в тегах на SEO?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Включайте презумпцию невиновности. Названия классов на SEO никак не влияют. Если SEOшники не согласны - пусть докажут обратное, фактами. SEOшники вообще еретики минимум на 50%.
    Ответ написан
    Комментировать
  • Почему долго грузится страница?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Нормально все грузится:

    https://tools.pingdom.com/#5b84b8f28d400000

    Все "ваше" меньше 1 секунды, еще пару секунд работа с сервисами Яндекса. Если конкретно у вас что-то "крутится" во всех браузерах, возможно ваш провайдер, роутер, VPN или еще какой-то man-in-the-middle не дружит с тем же Яндексом (или Яндекс с ним). Например, у нас в Украине Яндекс заблокирован, поэтому у меня оно будет крутиться вечно, пока браузер не оборвет соединение. Но если я включаю VPN или блокировщик запросов к Яндексу - все грузится моментально.
    Ответ написан
  • Могу ли я изменить плагин в wp?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    В официальной документации смотрели? Там куча интересных хуков, с примерами кода.
    Ответ написан
    Комментировать
  • Как делают title жирным?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Не делайте так. Все пользователи, которые используют альтернативные методы (в первую очередь - читалки) будут плакать. Читалка будет зачитывать эту кашу посимвольно, называя каждый символ его полным названием (а это все специальные символы с конкретным значением а не просто "жирные буквы").
    Ответ написан
    Комментировать
  • Как разбить запись на подзаписи с другим дизайном?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Вариантов много. Либо шаблоны page-{id}.php / page-{name}.php, либо произвольные templates, которые назначаются вручную каждой конкретной странице. Если "страницы" это не page, а custom post type, то при регистрации нужно в 'supports' указать 'page-attributes'.
    Ответ написан
    Комментировать
  • Сколько раз можно использовать тег aside и есть ли в этом практическая составляющая?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Вот тут посмотрите:
    https://developer.mozilla.org/en-US/docs/Web/HTML/...

    И вы немного недопоняли семантику. Вроде и поняли, но есть нюансы:

    aside описывает косвенный контент, который не имеет прямого отношения к основному содержимому,

    Aside описывает контент, который имеет отношение к основному содержимому, но является дополняющим, не основным контентом. Использовать его можно ровно столько раз, сколько нужно.

    например реклама, счетчики, облако тегов, слайдеры и т.д.

    А вот счетчики, реклама как раз не имеет никакого отношения к основному контенту и не должно быть в aside. Облако тегов, имхо, логичнее делать в footer внутри article. Слайдер - это скорее section внутри article. Возможно, figure (но скорее нет, логичнее section).
    Ответ написан
    8 комментариев
  • Как подружить BEM и WP?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    BB 8,
    wp-мэйт просит чтобы у динамического контента не было КЛАССОВ ВООБЩЕ

    Вот это ключевой момент. И в комментах вам уже написали, что проще ваш CSS поменять, нежели редактор WP. Технически, редактор WP научить можно. Но он сохраняет весь динамический контент в БД вместе с HTML (и классами). Это означает, что если вам понадобится класс переименовать, или добавить новый модификатор к "всем таким же блокам или элементам" - то вам придется лазить по всем старым записям и менять это там тоже. Что, разумеется, не очень ок.

    Какие есть варианты? Всякие Visual Composer'ы, но они тоже сохраняют HTML в базу, поэтому риски те же. ACF и подобные решения для произвольных полей, которые позволят разбить контент на "блоки", и каждому блоку на выводе можете давать свой темплейт. Но если контента много, по нему надо искать и тд - опять же, вагон лишней работы бекендеру. Ради чего? Какой профит?

    Есть надежда лишь на новый редактор, Gutenberg, который в этом году должен заменить TinyMCE. Там все на реакте, контент редактируется именно блоками, и каждый блок может иметь свой темплейт. По идее, это должно решить эту проблему раз и навсегда.
    Ответ написан
    3 комментария
  • Можно ли узнать насколько нагружена память устройства?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    При использовании "бесконечного скролла" многие почему-то делают только скролл вниз, а про верх забывают. Это архитектурная ошибка. Должно быть как - порцию нового подгрузили, порцию старого выгрузили. В обе стороны. И тогда никаких проблем с затупами не возникнет никогда. От слова совсем.
    Ответ написан
    Комментировать
  • Почему такая задержка перед первой отрисовкой страницы?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Waiting = 1.18s
    Это рендеринг HTML на сервере (PHP), он конечно не быстрый у вас, но и не то чтобы сильно медленный.

    Receiving = 7.03s
    А вот это уже сервер отдает (а браузер качает) этот сгенерированный HTML, и это аномально медленно. Скорее всего канал - говно.

    Кроме всего прочего, 127Кб HTML - это тоже аномально много, там DOM адски огромный, плюс скрипты и стили, отсюда еще столько же времени идет на парсинг и отрисовку.
    Ответ написан
    Комментировать
  • Как правильно определяют значение "em" в макете?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Если я еще не совсем забыл фронтенд, то считаются от размера текста конкретного элемента. Стандартный размер шрифта в body по умолчанию во всех браузерах сейчас вроде 16px, если его не переопределять для элементов, то inherit означает что 1em = 16px. Если размер переопределен на 14px, значит 1em = 14px. Ну и еще вроде использовалось правило html { font-size:100%; }, чтобы это точно работало как надо.

    Впрочем, если вопрос не только в CSS, то все интереснее. Дело в том, что изначально термин "em" означал ширину заглавной буквы М. Соответственно, в разных шрифтах, в зависимости от дизайна этой буквы, значение будет разным. Далее, Adobe утверждает, что em = размер шрифта в pt, а не в px. А спека W3C говорит следующее:

    The 'em' unit is equal to the computed value of the 'font-size' property of the element on which it is used. The exception is when 'em' occurs in the value of the 'font-size' property itself, in which case it refers to the font size of the parent element. It may be used for vertical or horizontal measurement.


    Поскольку мы говорим о CSS, то отталкиваемся от W3C.

    Немного чтива:

    https://en.wikipedia.org/wiki/Em_(typography)
    v1.jontangerine.com/log/2007/09/the-incredible-em-...

    И калькулятор в придачу:

    pxtoem.com
    Ответ написан
    Комментировать
  • Появляется карта сайта на 1-2 сек. при загрузке сайта, как исправить?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Это называется FOUC – Flash Of Unstyled Content. Происходит он потому что у вас невалидный и кривой HTML, менюшка ваша выводится в HEAD (где ее быть не может по определению, только в BODY), и до CSS. Отсюда и проблема – сначала браузер выплевывает HTML-разметку, а потом спохватывается, что вот еще стили есть, берет их и перерисовывает страницу.

    И да, счетчики эти всякие и прочие говноскрипты смело ставьте в футер, а еще лучше асинхронно и с задержкой. Раньше их выполнять не стоит.
    Ответ написан
    1 комментарий
  • Важно ли использовать сетку для верстки?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    зачем нужна сетка для верстки

    Сетка нужна для удобства и консистентности верстки.

    будь то бутстрап или грид

    Бутстрап это большой фреймворк, сетка - лишь маленькая его часть. А грид - это и есть "сетка". С терминологией надо бы порядок навести.

    если я все равно в контейнере отступаю в пкс от краев, задаю ширину в стилях и помещаю все в контейнер, а для телефонов оптимизирую через медиа запросы

    Поздравляю, вы создаете и используете собственную сетку! :) Исходя из этого, решите для себя сами - достаточно ли вам вашей собственной сетки, удобно ли с ней работать. Если да - тогда сторонние готовые решения вам не нужны. Если нет - тогда используйте готовую сетку и не парьтесь.
    Ответ написан
    Комментировать
  • Нужен или возможен 100% pixel perfect?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Лично я всегда был адептом подхода math-perfect, или grid-perfect. Грубо говоря - есть сетка, вертикальный ритм, есть заданные пропорции и скейлинг-факторы, которые вместе формируют визуальный язык. И закладывается он, конечно же, дизайнером. Тогда и следовать ему в плане pixel-perfect достаточно легко, ибо после определения математики все элементы начинают органично ложиться куда надо. Если же дизайнер и в бровь не видел математику и у него стопиццот отступов "на глазок", то такой макет надо заворачивать на доработку. Если же макет "принят", и приходится с ним работать, то разумнее все же выводить из имеющегося Г хоть какую-то математику и следовать ей.
    Ответ написан
    Комментировать
  • Есть ли Поп Ап плагин В вордпресс?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Неужели так сложно зайти на WordPress.org в раздел Plugins и выполнить простейший поиск?

    https://wordpress.org/plugins/search/pop-up/
    https://wordpress.org/plugins/search/lightbox/
    Ответ написан
    Комментировать
  • Как сделать медиафайлы на другом хостинге?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Никак, особенно если у вас обычный shared хостинг.

    УРЛ файлов можно заменять, не проблема. А вот путь (который используется при загрузке файлов) должен быть локальным. Загружать файлы через медиа-библиотеку на сторонний сервер не получится. Есть вариант после заливки на текущий сервер уже своим кастомным кодом синхронизировать файл на другой сервер и перезаписывать урлы. Именно по такому принципу работает Offload S3 и аналогичные решения. Но объем кода подобной реализации сильно превышает возможности ответов на Тостере. К тому же, не факт что ваши shared хостинги предоставляют необходимые возможности.

    С какой целью вам это вообще надо?
    Ответ написан
  • Почему не срабатывает отправка формы?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Во-первых, <input type="hidden" value="unsubscribe-success"> у вас не содержит атрибута name. То же самое с полем email. Для начала их добавьте.
    Ответ написан
    5 комментариев
  • Что должен содержать шаблон для публикации на ThemeForest?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    не знаю какие требования у них к шаблонам (на их сайте нет).

    Серьезно?

    https://help.market.envato.com/hc/en-us/articles/2...
    https://help.market.envato.com/hc/en-us/articles/2...
    https://help.market.envato.com/hc/en-us/articles/2...
    Ответ написан
    Комментировать