• Wordpress: как создать запись и присвоить ее нужной странице?

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

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Вам чистое решение на PHP? Python? Ruby? Плагин для WordPress? Drupal? Joomla? На чем сайт? В какое облако грузить надо? Amazon S3? Rackspace? Dropbox? Свой VPS с BitTorrent Sync или Own Cloud?

    Напишите подробнее вводные данные. Вопрос слишком абстрактен.

    UPDATE: См. комменты.
    У Амазона S3 есть своя библиотека для PHP и чудесное АПИ, лучше всего юзать именно ее. Лежит на Амазоне и кажется есть копия на Github - если правильно помню, используется в плагине tantan-s3 для WordPress (собственно, кладет загружаемые файлы в S3). Прикрутить к Laravel - дело техники.
    https://github.com/bradt/wp-tantan-s3
    Ответ написан
    9 комментариев
  • Как сократить количество отображаемых строк в css?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Фиксированная высота + overflow: hidden. Это костыль, но поскольку вы не брезгуете magic numbers, то вполне сгодится.

    По уму - html5hub.com/ellipse-my-text/#i.ynjfrd17pscqpw
    Ответ написан
  • Как добавить язык на сайт wordpress?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Забейте на платный и тяжеленный WPML. Используйте Polylang.
    Ответ написан
    Комментировать
  • Кэш или локальное хранилище - что лучше?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Так это же разного поля ягоды. Кеш на стороне сервера и его задача ускорить выдачу данных и снижать нагрузку. Локал сторадж же для хранения небольших данных локально. Что конкретно и с какой целью надо хранить?
    Ответ написан
    6 комментариев
  • Оптимизация подключения скриптов/css в Wordpress?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    А вы про conditional проверки читали? is_category( $cat_id ) например, их очень много. Полная гибкость, есличо. Проверяете на необходимое условие и грузите что надо, нет необходимости плодить шаблоны. Что касается скриптов и стилей, подгружаемых плагинами - всегда есть возможность выяснить на каком хуке и приоритете они грузятся и модифицировать. Можно отключить и подключить вручную там и тогда, когда нужно. Или наоборот, отключать где не нужно. В общем, есть много способов это сделать, без дополнительных шаблонов и плагинов.

    Например, если я в процессе разработки проекта вижу скрипты и стили какого-то плагина, которые 100% будут site-wide и всегда, я отключаю их динамическую загрузку самим плагином, вручную переношу скрипты и стили к своим и сливаю их. Минус - со временем, когда плагин обновит версии скриптов, придется вручную их менять. Но, так как мы на поддержке все равно раз в месяц или по мере появления Security фиксов проводим maintenance, это не проблема. Плюс - никаких лишних http-запросов, объединенные скрипты и стили в один лучше компресятся.
    Ответ написан
  • Как решить проблему на VPS сервере с загрузкой картинок?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Не берусь утверждать наверняка, но, возможно, для бекапа, на время его выполнения, меняются права на папку, а после него восстанавливаются. Грохнув процесс в середине вы не позволили выполнить все как полагается. Проверьте права.

    Кроме того, не понимаю, чего вы паниковали? Лоад 4-5 это мелочи вообще, пусть бы себе колбасил дальше.
    Ответ написан
    Комментировать
  • Сайт, веб-приложение или веб-сервис?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Это будет называться https://ifttt.com/ :)
    Ответ написан
    Комментировать
  • Как сделать разный вид анонсов новостей на главной странице в Wordpress?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Вариантов решения много. Идеальным со всех точек зрения и оптимальным будет:
    1. Создать метабокс "Формат вывода" с опциями в виде переключения радиокнопками или списком выбора (те, которые Вы перечислили + любые другие). Создать его можно либо вручную через functions.php либо с помощью одного из массы плагинов (рекоммендую Advanced Custom Fields).
    2. В индексе в WordPress Loop получаете значение этого поля
    3. Подключаете соответствующий шаблон

    Если же Вам не надо полную свободу выбора, а, скажем, жестко каждая отдельная рубрика (или по несколько рубрик) должна иметь свой формат вывода, тогда дополнительный metabox или даже обычный custom fields не нужен. Проверяете в Loop айдишку группы или slug, подключаете нужный шаблон.

    Также, можно включить форматы записей (стандартный, галерея, фото, видео, цитата, ссылка и т.д.) и перенастроить их под себя.
    Ответ написан
    1 комментарий
  • Как организовать процесс создания собственного css-фреймворка?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    1. Если у вас normalize "не справился с задачей" - это первый тревожный звоночек, вероятнее всего вы что-то делаете не так. Без обид.
    2. Второй тревожный звонок - вы хотите создать модульный, универсальный и гибкий фреймворк без использования препроцессоров (SASS/SCSS/LESS). Это путь в никуда.
    3. По сути вопроса:
    - переходите на препроцессоры, насильно. Какой выберете - дело ваше, я предпочитаю SCSS
    - разбивайте на модули
    - используйте Normalize
    - пишите эффективный и правильный CSS
    - забудьте про идею создать идеальный фреймворк, который можно использовать с минимальными правками везде и всегда - это утопия
    - научитесь потом эти модули правильно собирать в единый CSS-файл, с минификацией и т.д. Например, с помощью Grunt.
    - удачи :)
    Ответ написан
  • Почему не работают поповеры, тултипы и модальные окна на сайте при просмотре через Ipad?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Фокус в том, что на iPad по сути отсутствует такое событие как MouseOver / Hover. Там есть события Tap / Double Tap / Gestures. Проще говоря, если у вас взаимодействие завязано на наведение мышкой на объекты, то планшет этого не понимает, ибо на нем наведения нету. По поводу прямоугольника при клике - это, скорее всего, и есть попытка айпада отобразить состояние :hover / :active. Первый тап - имитация события наведения, второй тап - собственно переход по ссылке.
    Ответ написан
    2 комментария
  • Как найти инвестора на стартап?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Для поиска инвестора рано еще. Как пишет @Fesor , у вас пока ничего нет. Ключевые моменты для инвестора - сильная команда, способная идею реализовать, и работающий прототип (он же proof of concept, или альфа-бета-версия). Без этого инвестору проект не интересен, так как риски слишком высоки.
    Ответ написан
    Комментировать
  • VPS. Каковы особенности работы?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    В целом @inkvizitor68sl все толково написал, я бы лишь добавил:
    1. Новичку, возможно, есть смысл начать не с Debian, а с Ubuntu 12.04. По нему в сети тьма уроков и информации на всех языках мира, так что порог входа будет легче. А по мере того, как станете матерым юниксоидом, ничто не мешает перейти на Debian либо то, что Вам лично уже будет по душе - к тому моменту сами будете для себя это понимать. Перенести сайты с одного дроплета на другой - вопрос нескольких минут.
    2. По поводу файрвола. Я у себя через iptables закрыл все нах, оставив только http, ssh и loopback. На DO есть нормальный урок на эту тему.
    3. И по поводу почты. Сделать почту правильно на своем сервере - задачка та еще. Лично я вообще не беру на себя ответственность за клиентскую почту, ибо гемор конкретный (а на VPS у меня не только свои проекты, но и клиентские). Идеальный вариант - Яндекс почта для домена (бесплатно) или аналогичное решение от Google (платно). Плюсы этого подхода очевидны: стабильность, надежность, защищенность, привычный GUI вебмейла, уже готовые приложения для iOS/Android и так далее.
    Ответ написан
    4 комментария
  • Какие ограничения накладывает Apache License, Version 2.0 для шрифта при печати?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Из области рассуждений и анализа западных источников:

    - The Apache License is a free software license that does not require the same license of derivative work. This means that code under the license can be used in open, free and proprietary software (like the MIT and BSD licenses).

    Перевожу в общих чертах:
    - Данная лицензия не требует использование этой же лицензии для деривативов. Это означает, что можно использовать как в бесплатных / open source продуктах, так и в коммерческих.

    Уже хорошо.

    - It imposes the conditions that in any licensed file, all original copyright, attribution and trademark notices must be preserved. Additionally, with any modified work, a notice of change must be included. Any existing notices of change must also be kept. All of these notices must be distributed in a text file and in the source code or documentation.

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

    Вот это уже интересно.

    Из этого следует:
    - сам шрифт мы не модифицируем и не редистрибьютим (мы же вместе с буклетом шрифт на флешке не раздаем).
    - соответственно, мы его только ИСПОЛЬЗУЕМ для производства продукции (то есть, для изготовления макета на конкретном компьютере), что лицензией позволено. Если будем передавать макет в печать - передадим полиграфистам и сам шрифт вместе с лицензией. Все законно.
    - Для полного спокойствия где-нибудь можно добавить упоминание. Например, если на печатном материале (буклете, книге и т.д.) есть место где-то там где копирайты, добавить упоминание, что шрифт такой-то + лицензия такая-то. Думаю, не обязательно даже ставить ссылку на лицензию. В книгах, например, так делают. Если же это макет визитки, то нафиг жти упоминания. Также, если есть сайт-портфолио, в котором будет размещена данная работа, там же в описании можна добавить упоминание шрифта и лицензии + поставить гиперссылку на саму лицензию.

    По мотивам:
    www.smashingmagazine.com/2011/06/14/understanding-...
    typophile.com/node/99972
    Опять же, из многолетнего опыта работы арт-директором в РА - использовали в работах как коммерческие (легально купленные), так и бесплатные шрифты (с разными лицензиями, в том числе Apache). Не заморачивались. Вопросов и тем более проблем не возникало :)
    Ответ написан
    3 комментария
  • Как поменять домен Wordpress в файлах?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Можно в wp-config.php вручную прописать. Я вообще эти опции из базы никогда не использую. Во-первых - мешает синхронизации между локалкой, тестовым сервером и живым. Во-вторых это лишние запросы в бд.

    Оптимальный код (первые строчки - ответ на ваш вопрос, остальное - бонус):

    /**
     * Give WordPress it's own directory.
     */
    define( 'WP_SITEURL', 'http://' . $_SERVER['SERVER_NAME'] . '/core' );
    define( 'WP_HOME',    'http://' . $_SERVER['SERVER_NAME'] );
    
    /**
     * Link our custom wp-content directory.
     */
    define( 'WP_CONTENT_DIR', dirname( __FILE__ ) . '/content' );
    define( 'WP_CONTENT_URL', 'http://' . $_SERVER['SERVER_NAME'] . '/content' );


    В этом случае корневая директория у вас выглядит так:
    /core/ - оригинальная папка wordpress из архива, скачанного с wordpress.org (имя любое)
    /content/ - копия папки wp-content (плагины, темы, загрузки)
    index.php
    wp-config.php
    .htaccess

    Также не забудьте в оригинальной папке /wp-content/ грохнуть все плагины и темы, папки должны присутствовать, но быть пустыми (только index.php, который там валяется)
    Ответ написан
    Комментировать
  • Почему bitbucket спрашивает пароль при коммите на сервер ?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    1. На bitbucket должен быть добавлен ключ того компа/сервера, откуда идет коннект
    2. На самом компе/сервере этот ключ должен быть
    3. В конфиге репозитория должен быть прописан корректный origin (в том числе формат - если доступ по ssh, то это должен быть git@bitbucket.org:user/repo.git)
    И очень важный нюанс:
    4. Если запросы идут от сервера, то очень важно не напутать с sudo / su. Если ключ создавался с sudo - выполнять команды git также надо через sudo. Если Ключ от обычного юзера - git-комманды тоже от его имени. Ибо если у вас в Bitbucket добавлен ключ, сгенерированный через sudo - это ключ рута. А выполняя команду git без sudo вы пытетесь авторизоваться с ключом другого пользователя.
    Ответ написан
    Комментировать
  • Как не надо верстать сайты?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    А никак. Можно частично закрутить гайки (ограничить возможности), предусмотреть все элементы, в том числе прописать max-width, min-width и прочие полезности, дабы неожиданные правки не разрывали верстку. Но на 100% не получится. И есть только один вариант - объяснить клиенту, что сайт это живой организм, и взять его на платную поддержку. Ежемесячный объем правок в конце месяца оформлять как счет за почасовку. Тогда все довольны - клиент возможностями, разработчик красивостями, пользователи - адекватным сайтом без "вырвиглазов".
    Ответ написан
    Комментировать