• Учитывает ли YouTube просмотры на других сайтах?

    vabka
    @vabka
    Токсичный шарпист
    Да.
    На основе этого даже когда-то работала накрутка просмотров (видео запускалось в фоне в скрытом iframe)
    Не уверен, как с этим сейчас, может даже что-то сделали.
    Ответ написан
    Комментировать
  • Как исправить ошибку в pagespeed?

    @galaxy
    Во-первых, это не ошибка, а рекомендация, причем довольно бестолковая.
    Удовлетворить pagespeed можно:
    1. отложив загрузку стилей (вниз страницы или асинхронно через JS)
    2. заинлайнив их
    3. выделив существенные правила именно для данной страницы и загружать только их.

    1 - покажет (и будет показывать всегда) нестилизованную страницу до полной прогрузки.
    2 - тоже тупой способ, ибо придется каждую страницу раздувать, вместо того, чтобы один раз положить стили в кеш.
    3 - геморно. Не, так-то этот путь хорош, но у вас там 12кБ стилей - из-за такой мелочи огород разводить?

    Объедините стили в один файл, минифицируйте, сожмите brotli (или от чего там гугл сейчас оргазмирует). И забейте на pagespeed
    Ответ написан
    2 комментария
  • Добавление полей WP куда копать?

    pro100taa
    @pro100taa
    Не оно?

    61979613424fb137750560.jpeg
    Ответ написан
    Комментировать
  • Есть модуль с вариациями (размерами) с остатками на каждый вариант?

    wppanda5
    @wppanda5 Куратор тега WordPress
    WordPress Mедведь
    А что вас в стандартном функционале не устраивает?
    fa1d2567c4.jpg
    Ответ написан
    Комментировать
  • Как избавиться от дерганья при transition?

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    изменил all на конкретную стилизацию например: " transition: scale 0.05s linear;",

    Нет такого свойства, вот и не анимируется.
    Есть свойство transform и вот оно прекрасно анимируется.
    Ответ написан
    Комментировать
  • Как реализовать онлайн проверку результатов?

    @qid00000000
    Мало что знаю, но информацию найду в гугле
    1. Берешь разработчиков
    2. Составляешь вместе с ними ТЗ
    3. Разработчики, за деньги, делают продукт

    Если коротко, что потребуется:
    1. бд с результатами
    2. нужно авторизировать пользователей только к их результатам (потребуется аутентификация + подтверждение, если берется из других источников)
    3. ну и скрипт, который все в html запихнет.
    Ответ написан
    2 комментария
  • Как в посте Wordpress вывести галерею из картинок другого поста?

    AntonLitvinenko
    @AntonLitvinenko
    HTML coder
    Стандартная галерея выводится с помощью шорткода вида
    [gallery ids="117,116,115"]
    Можете использовать его совершенно в любом месте
    Ответ написан
    Комментировать
  • "Умение профилировать и отлаживать свой код без использования функции dd/var_dump" - это как?

    myks92
    @myks92 Куратор тега PHP
    Нашёл решение — пометь вопрос ответом!
    Это точно об X-debug.

    Умение им пользоваться будет полезным в использовании незнакомого вам кода. Большинство ошибок можно найти данным инструментом более быстро, чем расставлять везде dd(). Вам нужно поставить одну точку, а дальше полный набор отладки.

    Но мне не очень понятно зачем отлаживать свой код. Если код написан читаемо, то отлаживать его нет необходимости - достаточно покрыть его тестами. Даже если возникнет какая-то ошибка, то найти её можно быстро. Я ещё ни разу не пользовался X-debug для отладки именно своего кода. Код читаем и ошибка находится быстро. Более того, дошёл до того, что даже браузер не открываю, так как занимаюсь только backend частью. Мы недавно сдали проект с хорошим кодом и на демо-версии не было ни одной 500 ошибки, а покрытие тестов было всего 35%.

    Поэтому тесты+читаемый код может вообще избавить вас от необходимости настройки данного инструмента. Разве что нарвётесь на какой-то баг библиотеки. Вот тогда и придётся «расчехлять» данный инструмент.
    Ответ написан
    2 комментария
  • "Умение профилировать и отлаживать свой код без использования функции dd/var_dump" - это как?

    karabanov
    @karabanov
    Системный администратор
    Это о xdebug
    Ответ написан
    Комментировать
  • Контекстная реклама от google, как настроить правильно?

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

    Вот и на Google самый простой способ - создать умную кампанию, в качестве ключей использовать то, что рекламируете, выбрать себе цель (сюда надо включить все значимые действия на сайте: клики на телефон, мессенджеры, онлайн чат, отправка форм и т.п.). Конечно, google analytics должен быть завязан на рекламный аккаунт.
    Также можно выбрать умную цель, если сайт посещаемый и система может это сделать.
    Далее достаточно установить цену за конверсию и вперед. Будут или реальные конверсии, или реклама просто не покажется, но и бюджет не уйдет в пустоту.

    Это самый простой способ, который хоть как-то привязывает рекламу к действиям пользователей.
    И система сама отсеивает неподходящую аудиторию, левые площадки, время и количество показов пользователю, его поведенческие факторы и т.п.
    Если просто настроить кампанию (особенно в кмс), то кликов может быть куча, а толку ноль.
    А так хоть конверсии какие-то будут за ваши деньги.
    И настраивается умная кампания за 30 минут самим владельцем без особых навыков работы с рекламой.

    Основные проблемы:
    1) мало конверсий на самом сайте - недостаточно интересное предложение, плохой или непонятный сайт, мало конверсионных элементов, не настроена аналитика, нет сбора конверсий вообще.
    2) плохо работает передача конверсий в рекламу, такое бывает, там в google вообще отвратительно сделана связка с рекламой, в отличии от яндекса, где все прозрачно.
    3) нужно потратить приличный бюджет, чтобы система хоть как-то обучилась и тогда понять: есть отдача от умных кампаний или нет.

    Все имхо.
    Ответ написан
    Комментировать
  • Как связать приложение на телефоне с сайтом на вордпресс?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Добрый день.
    Ну тут много нюансов, которые стоит уточнить...
    Во-первых, что за приложение? На чем оно написано, какие технологии использует? Например, Java/Kotlin, React Native или другие языки и фреймворки. Открывается ли сайт просто в WebView или есть интеграция с REST API самого сайта.
    Во-вторых, как быстро посты должны отобразиться в приложении? Можно периодически обращаться к сайту по REST и проверять наличие новых постов. Погуглите такую либу, как afrozaar wordpress rest api android. Если нужно обновлять статьи регулярно, то можно и сокеты подключить. Если периодически, то просто время от времени в фоне проверять наличие постов.

    Говоря проще, неважно на чем вы напишете приложение. Вам нужна либа для работы с Wordpress REST API. Либу для android/java/kotlin я указал выше. Для других языков/фреймворков можете погуглить
    Ответ написан
    3 комментария
  • Как создать новые страницы Wordpress?

    pro100taa
    @pro100taa
    1 вариант: если создавать через админку, в какой папке они окажутся ?


    Ни в какой. Они окажутся в базе данных (БД)

    2 вариант: если создавать файл отдельно и загружать через WinSCP, как подключить к меню и загрузить на WP ?


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

    В меню вставляйте через админку: Внешний вид => Меню
    Ответ написан
    Комментировать
  • Как тут будет правильно сформулировать регулярку?

    karabanov
    @karabanov
    Системный администратор
    Заэкранировав спецсимволы: https://regex101.com/r/RGaUDh/1
    Ответ написан
    Комментировать
  • Можно в wp_query передать значение из поля кастомайзера get_theme_mod?

    V_A_B
    @V_A_B
    ¯\_(ツ)_/¯
    А в поле кастомайзера хочу через запятую выводить нужные артикулы


    в value надо либо значение передать, либо массив, а у Вас там строка с запятыми. т.е. в этом случае надо строку в массив перевести
    типо
    ...
    $skus = get_theme_mod('skus');
    $skus = explode(',',$skus);
    ...

    еще пример отсюда, но через пробел

    $pizza  = "кусок1 кусок2 кусок3 кусок4 кусок5 кусок6";
    $pieces = explode(" ", $pizza);


    т.е. Вам в поле кастомайзера надо вписывать так: кусок1,кусок2,кусок3,кусок4

    далее
    ...
    $skus = get_theme_mod('skus');
    $skus = explode(',',$skus);
    ...
    'value'   => $skus,
    ...
    Ответ написан
    1 комментарий
  • Должен ли WEB-разработчик уметь настраивать VPS/сервер?

    Adamos
    @Adamos
    Вопрос "должен ли" - всегда идиотский. Никто никому ничего не должен. В частности, нанимать и платить.
    Если вы такой крутой фронтендер, что вас ценят именно на этом фронте настолько, чтобы работодателю было жалко тратить ваше ценное время на настройки, он лучше наймет девопса - скорее всего, вам это все не понадобится.
    Но как можно стать крутым специалистом, вообще не интересуясь настолько смежными областями? Я не знаю.
    Вы такими сомнениями и прикидками сами себе ограничиваете рост статусом веб-макаки, которую можно только посадить в опенспейс на узкоспециализированную работу и до настройки серверов просто не допускать. Зато - "не должен", да...
    Ответ написан
    3 комментария
  • Как вытащить url из массива?

    @Verkan
    <?php //php 7.2.24
    
    $json = '{"response":{"count":10,"items":[{"id":76,"from_id":-206341834,"owner_id":-206341834,"date":1635582068,"marked_as_ads":0,"post_type":"post","text":"","attachments":[{"type":"photo","photo":{"album_id":-7,"date":1635582068,"id":457239054,"owner_id":-206341834,"has_tags":false,"access_key":"76e2c3a835f5a4cc1d","post_id":76,"sizes":[{"height":21,"url":"https:\/\/sun9-41.userapi.com\/impg\/Jl2qOYk10GNB5SfzzpiHksZYSC4rw9sQRR7oFA\/TVvXcAsnENA.jpg?size=75x21&quality=96&sign=8aa84cb6975e4de920245e769cf2a53f&c_uniq_tag=sLINAUcU8unP7Fy0u6LVFVW6okvRhFVqd0pvQDOLMCQ&type=album","type":"s","width":75},{"height":37,"url":"https:\/\/sun9-41.userapi.com\/impg\/Jl2qOYk10GNB5SfzzpiHksZYSC4rw9sQRR7oFA\/TVvXcAsnENA.jpg?size=130x37&quality=96&sign=85670086f0d1fc48cebffb19fd6051f8&c_uniq_tag=aqj7l9zkLyurmUipyH7hnOQa--cgtKEpPCfAZLoAT7g&type=album","type":"m","width":130},{"height":172,"url":"https:\/\/sun9-41.userapi.com\/impg\/Jl2qOYk10GNB5SfzzpiHksZYSC4rw9sQRR7oFA\/TVvXcAsnENA.jpg?size=604x172&quality=96&sign=411f8b44e840be3e3fab13f8a571e573&c_uniq_tag=n7WU0f_Z0U2l5vQcZ_oJvCjl_dylcHdtp27_skvzOM4&type=album","type":"x","width":604},{"height":230,"url":"https:\/\/sun9-41.userapi.com\/impg\/Jl2qOYk10GNB5SfzzpiHksZYSC4rw9sQRR7oFA\/TVvXcAsnENA.jpg?size=807x230&quality=96&sign=4f7adb4ccbc1356e93242b37bee5f3d8&c_uniq_tag=Mom16YuevSy4N3BUQjpWWP_rxgd8_GoK04x5DDCsdfg&type=album","type":"y","width":807},{"height":286,"url":"https:\/\/sun9-41.userapi.com\/impg\/Jl2qOYk10GNB5SfzzpiHksZYSC4rw9sQRR7oFA\/TVvXcAsnENA.jpg?size=1004x286&quality=96&sign=6294e717d879a6c6817ffa63cc88a2c0&c_uniq_tag=RjM7SnmnqAmOhbaSMGlyuejYT57m8qiuSN4Dlh6zpmU&type=album","type":"z","width":1004},{"height":87,"url":"https:\/\/sun9-41.userapi.com\/impg\/Jl2qOYk10GNB5SfzzpiHksZYSC4rw9sQRR7oFA\/TVvXcAsnENA.jpg?size=130x87&quality=96&crop=288,0,427,286&sign=597fc3aa018be2fe2ec5d4a9ac0451fd&c_uniq_tag=T-CKMuVm406BtIZw98ZJ_NxkdoupFQMqRCa1V7drcE4&type=album","type":"o","width":130},{"height":133,"url":"https:\/\/sun9-41.userapi.com\/impg\/Jl2qOYk10GNB5SfzzpiHksZYSC4rw9sQRR7oFA\/TVvXcAsnENA.jpg?size=200x133&quality=96&crop=287,0,430,286&sign=6188ec41453036d893de32ccf7141cf4&c_uniq_tag=t68y12R5nhRVKPoJrPgpReIZZF0j17v9Y1yUqxe6fUk&type=album","type":"p","width":200},{"height":213,"url":"https:\/\/sun9-41.userapi.com\/impg\/Jl2qOYk10GNB5SfzzpiHksZYSC4rw9sQRR7oFA\/TVvXcAsnENA.jpg?size=320x213&quality=96&crop=287,0,430,286&sign=7b203f726f6166072fa985d75b30a86e&c_uniq_tag=fYQ_zJaFaJLw2QQu1WzvZkpXZ9DABoEZR9rk12wmV-4&type=album","type":"q","width":320},{"height":286,"url":"https:\/\/sun9-41.userapi.com\/impg\/Jl2qOYk10GNB5SfzzpiHksZYSC4rw9sQRR7oFA\/TVvXcAsnENA.jpg?size=510x286&quality=96&crop=247,0,510,286&sign=73773ebeaa1b32614f363e09077d49e6&c_uniq_tag=OVXA90aetOhzt8HzcwRD95eRbUPUwNvK75VG2_ENqWY&type=album","type":"r","width":510}],"text":"","user_id":100}}],"post_source":{"type":"vk"},"comments":{"can_post":1,"count":0,"groups_can_post":true},"likes":{"can_like":1,"count":0,"user_likes":0,"can_publish":1},"reposts":{"count":0,"user_reposted":0},"donut":{"is_donut":false},"short_text_rate":0.800000,"hash":"80fJag8LLqgU0VXNjw"}]}}';
    
    $data = json_decode($json);
    
    $sizes = $data->response->items[0]->attachments[0]->photo->sizes;
        
        foreach ($sizes as $size){
            if($size->width === 604){
                $url = $size->url;
                break;
            }
        }
    
        echo $url ?? null
    ?>
    Ответ написан
    1 комментарий
  • Есть ли такая книга-учебник по PHP, в которой описан стиль программирования близкий к эталону?

    vabka
    @vabka
    Токсичный шарпист
    При этом, ревьювер зачастую ссылается на какие-то неведомые мне стандарты и правила, которые, дескать, "и так все знают" :-)

    Это плохое ревью, и на какие-либо стандарты и нормы надо ссылаться.

    - А существует ли где-то книга-учебник с такими вот правилами, следуя которым можно писать такой код, к которому уж точно никто не придерется?

    Нет, тк не существует эталона.

    Есть общие правила, про архитектуру, и ООП: чистая архитектура, порты и адаптеры, MVC, CQRS, SOLID, GRASP
    Есть общие правила про оформление кода: чистый код, совершенный код (они немного противоречат друг другу), KISS, DRY, YAGNI.

    А чтобы было меньше придирок на ревью:
    1. Внедри кодстайл, и контролируй его при помощи всяких автоматических инструментов
    2. Опиши архитектуру в каких-нибудь внутренних документах в проекте (можно прямо в репу запихать), и при реализации фич опирайся на эти документы.
    3. Давай нормальные имена переменным, и избегай всяких code smell-ов, и антипаттернов
    4. Пиши тесты
    Ответ написан
  • Почему не работает z-index?

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    Так работает.
    .block {
      width: 120px;
      height: 40px;
      background: red;
      position: relative;
    }
    .block:before {
      content: '';
      background: blue;
      width: 100%;
      height: 100%;
      position: absolute;
      top: 50%;
      z-index: -1;
    }


    А у вас "не работает", потому что z-index работает совсем не так, как вам хочется.
    https://habr.com/ru/post/166435/
    css.yoksel.ru/kontekst-nalozheniya
    и т.д.
    Ответ написан
    9 комментариев
  • Можно ли развиваться в сразу в нескольких направлениях?

    Zoominger
    @Zoominger Куратор тега Веб-разработка
    System Integrator
    Да.
    И ещё известным хирургом стать, и великим композитором и лучшим мотогонщиком.
    Всё одновременно.
    Ответ написан
    2 комментария