Задать вопрос
  • Как реализовать перенос Wordpress-сайта с сервера на сервер?

    Adward
    @Adward
    Вебмастер с 2001 года
    Я так понимаю, у вас стоит задача разработки на локальном компе и выгрузка вовне по мере изменений. В общем я делаю как (не знаю подойдёт ли вам).

    На локале поднимаю сайт на том же домене, что и во внешнем интернете. При этом, чтобы не особо страдать, при запущенном локальном вебсервере, браузер chrome видит сайт локальный (потому что в hosts ему указано смотреть в локал) а браузер Tor - видит внешний сайт (ему всё равно какие локальные настройки).

    При этом, когда я, под утро, понял, что у меня вышел очередной релиз и нужно его залить на сервак - я с пом. Total Commander делаю сравнение директориев (с выгрузкой только изменений), а так же просто переношу локальную базу на боевой сервак с помощью phpmyadmin (сейчас освоил через ispmanager - так быстрее оказывается).

    Может кто нибудь, у кого скилл более прокачен, посоветует другие пути-решения, с удовольствем послушаю. Но у меня пока так.
    Ответ написан
    4 комментария
  • Что такое "инвертированный" цикл for в JS?

    bingo347
    @bingo347 Куратор тега JavaScript
    Crazy on performance...
    Классический цикл for в javascript состоит из 3х операторов: init, predicate, nextIteration
    В общей записи это выглядит так:for(init; predicate; nextIteration) { body }

    Цикл for исполняется следующим образом:
    1. Выполняется оператор init в области видимости блока цикла
    Обычно здесь объявляют переменную-счетчик и присваивают ей начальное значение
    Определение "в области видимости блока цикла" означает, что если init-оператор представляет собой оператор let - то объявленные переменные будут видны в цикле, но не за его пределами
    2. Вычисляется predicate, его результат приводится к boolean и последующее выполнение зависит от результата этого приведения:
    Если результат === false - то цикл завершается
    Если результат === true - то переходим к шагу 3
    3. Исполняется тело цикла - блок body, официально блоком быть не обязан, может быть и единичным оператором, но лучше всегда писать блок (фигурные скобки)
    4. Исполняется оператор nextIteration и переходим к пункту 2

    Теперь разберемся на конкретных примерах:
    Прямой цикл
    for(let i = 0; i < 10; i++) {
      console.log(i);
    }

    Объявляется переменная i и ей присваивается начальное значение 0
    Получается результат выражения Boolean(i < 10) -> 0 < 10 - true -> Boolean(true) - true -> можем выполнять тело
    Выполняется тело console.log(i); -> видим 0 в консольке
    Выполняется i++ -> i становится 1
    Получается результат выражения Boolean(i < 10) -> 1 < 10 - true -> Boolean(true) - true -> можем выполнять тело
    ...
    Так все продолжается 10 раз, на 10 итерации появляются изменения после этого момента:
    Выполняется i++ -> i становится 10
    олучается результат выражения Boolean(i < 10) -> 10 < 10 - false -> Boolean(false) - false -> завершаем цикл

    инвертированный цикл
    for(let i = 10; i--;) {
      console.log(i);
    }

    Объявляется переменная i и ей присваивается начальное значение 10
    Получается результат выражения Boolean(i--) -> i-- - 10, i = 9 -> Boolean(10) - true -> можем выполнять тело
    Выполняется тело console.log(i); -> видим 9 в консольке
    Оператор nextIteration - пустой, ничего выполнять не надо
    Получается результат выражения Boolean(i--) -> i-- - 9, i = 8 -> Boolean(9) - true -> можем выполнять тело
    ...
    Цикл по прежнему работает 10 раз, последняя итерация (когда i к моменту исполнения predicate равна 0):
    Получается результат выражения Boolean(i--) -> i-- - 0, i = -1 -> Boolean(0) - false -> завершаем цикл

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

    Kublyakov
    @Kublyakov
    Сайт, который вы приводите в пример работает на https://www.webasyst.ru/
    То есть на webasyst точно можно реализовать нужное вам меню.
    Но советую подумать, стоит ли ради этого переезжать на другой движок.
    Неужели в woocommerce ничего нельзя придумать? Вы пробовали обращаться за консультациями к специалистам по woocommerce?
    Если вам один человек сказал, что такое нельзя реализовать на woocommerce, попробуйте проконсультироваться с другими специалистами, может они другого мнения.
    Это выйдет точно дешевле, чем перевозить магазин на новый движок ради меню.
    Ответ написан
    1 комментарий
  • Как загружать CSS assets из NPM используя Webpack?

    AlekseyNemiro
    @AlekseyNemiro
    full-stack developer
    Для Bootstrap и Font Awesome есть отдельные загрузчики: bootstrap-loader и font-awesome-loader.

    Достаточно просто добавить их в секцию devDependencies в package.json.

    В коде инициализации приложения подключить, например так:

    require('bootstrap-loader');
    require('font-awesome-loader');

    Для шрифтов, в webpack.config.js, прописать примерно такие правила:

    module {
      loaders: [
        {
          test: /\.woff(.*)$/,
          loader: 'url',
          query: {
            limit: 10000,
            mimetype: 'application/font-woff',
            name: 'fonts/[name].[ext]' // путь output, куда будут скопированы файлы
          }
        },
        {
          test: /\.woff2(.*)$/,
          loader: 'url',
          query: {
            limit: 10000,
            mimetype: 'application/font-woff',
            name: 'fonts/[name].[ext]'
          }
        },
        {
          test: /\.ttf(.*)$/,
          loader: 'url',
          query: {
            limit: 10000,
            mimetype: 'application/octet-stream',
            name: 'fonts/[name].[ext]'
          }
        },
        {
          test: /\.eot(.*)$/,
          loader: 'file',
          query: {
            limit: 10000,
            name: 'fonts/[name].[ext]'
          }
        },
        {
          test: /\.svg(.*)$/,
          loader: 'url',
          query: {
            limit: 10000,
            mimetype: 'image/svg+xml',
            name: 'fonts/[name].[ext]'
          }
        }
      ]
    }


    Если понадобится выделить CSS из JavaScript, то можно использовать extract-text-webpack-plugin.

    webpack.config.js:
    var extractTextPlugin = require('extract-text-webpack-plugin');
    // ...
    module.exports = {
      // ...
      module: {
        loaders: [
          {
            test: /\.scss$/, // для scss
            loader: extractTextPlugin.extract('style', 'css!sass')
          }
        ]
      },
    
      plugins: [
        new extractTextPlugin('bundle.css') // вынести css в файл bundle.css в папку output
      ]
    }


    Для копирования других статичных файлов можно использовать copy-webpack-plugin.
    Ответ написан
    Комментировать
  • Разбивать ли css на несколько файлов?

    @Haoss
    html-верстальщик
    2й. Делаешь 1 единый файл стилей, дефолтный, отдельно модифицированный, подключаем ниже основного.
    Ответ написан
    Комментировать
  • Почему bootstrap показывает криво сайт в iphone?

    Вся проблема в ваших стилях , перепишите их правильно .
    И почему при создании гибкого макета ,
    .span12
    использует фиксированную ширину ? Так же настройте сайт под разные размеры экрана и избавьтесь от фиксированных значений.
    Используйте
    @media screen and (max-width: 980px) {
       #pagewrap {
          width: 95%;
       }
       #content {
          width: 60%;
          padding: 3% 4%;
       }
       #sidebar {
          width: 30%;
       }
       #sidebar .widget {
          padding: 8% 7%;
          margin-bottom: 10px;
       }
    }

    Подробнее
    Ответ написан
    1 комментарий
  • Как убрать из адресной строки id элемента?

    @WQP
    preventDefault(); не добавляет в адресную строку ничего. Используйте его
    Ответ написан
    4 комментария
  • Как практиковать AJAX без сервера?

    maaGames
    @maaGames
    Погроммирую программы
    По поводу поднятия сервера добавлю, что лучше это делать на виртуалке, чтобы рабочий компьютер не "портить". В случае с виртуалкой можно скачать уже готовый образ сервера, чтобы самому ручками поменьше делать.
    Ответ написан
    Комментировать
  • Как правильно создавать шаблон для WordPress?

    ksider
    @ksider
    Я сварщик не настоящий
    да как удобно, так и собирать. Можно сначала сверстать, потом натянуть, а можно сразу натягивать
    Ответ написан
    Комментировать
  • Как отключит загрузку видео на мобильных устройствах?

    TTA
    @TTA
    Мутировавший технарь :)
    потому что display:none, это как сифилис присыпкой лечить)) тут думаю без js никак. надо проверять размер экрана и если оно не мобильное а больше то добавлять в dom код плеера
    Ответ написан
    Комментировать
  • Как в js просмотреть все переменные доступные из текущей области видимости?

    littleguga
    @littleguga
    Не стыдно не знать, а стыдно не интересоваться.
    То что Вы хотите невозможно программно. Подробнее вот:

    stackoverflow.com/questions/2051678/getting-all-va...

    гугл кэш
    Ответ написан
    Комментировать
  • Почему при обращении к wordpress через ajax к получаемым данным добавляется 0?

    0x9d8e
    @0x9d8e
    Велосипедостроитель в терминальной стадии
    Предложу костыль:
    function get_cat_items() {
      echo $_POST['param1'];
      die;
    }

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

    @GreatRash
    Элементы нужно удалять из непосредственного родителя. document (то бишь <html>) не является родителем для video.

    videos[i].parentNode.removeChild(videos[i]);
    Ответ написан
    1 комментарий
  • Bootstrap или JavaScript. Что изучать?

    И то и другое. Вместе.
    Ответ написан
    Комментировать
  • Как сделать личный кабинет на wordpress?

    kobyakovdima
    @kobyakovdima
    Любитель экспериментов
    Можно реализовать на плагине Wp-Recall, на сайте разработчика ещё куча подплагинов к нему. У плагина есть хук, с помощью которого можно делать вкладки. Если подплагигов подходящих не нашлось, то можно использовать плагин произвольных полей ACF, в котором для пользователей можно добавить поля, в которых указывать файлы ( в PRO версии есть поле repeat, которое позволяет загружать сколько влезет "повторяющихся" полей). Ну и всё, а вывести произвольные поля сложности не оставляет.
    Ответ написан
    Комментировать
  • Где можно подучить AJAX?

    @IceJOKER
    Web/Android developer
    Ответ написан
    Комментировать
  • Почему тот же самый JS код не работает в Firefox, а только в Chrome?

    @Sad_Bro
    На темной стороне.
    странно что работает в хроме, forEach только для массивов, а массив это не коллекция (то что вы получаете через querySelectorAll). Можно заставить путем заимствования метода работать и на коллекциях foreach.
    А так Вячеслав Лебедев правильно советует, если только в учебных целях так навешивать обработчики
    Ответ написан
    2 комментария
  • Легко ли перейти с XHTML на HTML 5?

    sim3x
    @sim3x
    Да легко
    Еще легче не учить по старым мануалам, когда новых полно
    Ответ написан
    Комментировать
  • Хостинг заблокировал сайт по указке Роскомнадзора, можно ли перенести сайт на другой хостинг?

    sim3x
    @sim3x
    Переноси
    Причем к такому, который будет сначала предупреждать тебя об претензиях ркн
    Ответ написан
    1 комментарий