• Как сделать форму для заполнения с готовыми вариантами в Wordpress?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Ответ написан
    Комментировать
  • Wordpress php код - Как исправить?

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

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Этот блок генерит плагин Nivo Slider. Убрать его целиком - надо ручками править код плагина, скорее всего. Самый простой способ - дописать в CSS следующий блок:

    .nivo-controlNav { display: none; }
    Ответ написан
    4 комментария
  • Почему не меняется контент при смене страниц?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    В запросе идет 'post_type' => 'news', а далее вы говорите о таксономии news. Где логика? Бардак получается)

    Таки используйте стандартный цикл, хукайтесь в pre_get_posts. В крайнем случае используйте new WP_Query. query_posts() - весьма специфический зверь, который предназначен только для определенных ситуаций. Ваша - не одна из них.

    Что это за шаблон? category.php? index.php? single.php? Советую при разработке устанавливать плагин Query Monitor, он покажет как WordPress распарсил и обработал запрос, какой шаблон загрузил. Как вы живете без дебага? Я не говорю об xdebug, но хотя бы WP_DEBUG = true и Query Monitor должны быть.
    Ответ написан
    Комментировать
  • Как выводить записи вордпресс в модальном окне ?

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

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Ну wp_editor() же :)
    Ответ написан
    Комментировать
  • Оптимальные конфиги для связки: DigitalOcean(5$) + VestaCP + Wordpress?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    1. Веста хоть и самая легкая из CP, но все же жрет ресурсы, а на дроплете за $5 их и так очень мало. Ну а для одного сайта зачем вообще контрольная панель?! Удалите к чертям. Ну или попробуйте объяснить, зачем вам эта панель вообще нужна. Уверен, смысла в ней нет.

    2. На минимальном дроплете надо все делать максимально продуманным и эффективным. Обязательно нужен swap 512Мб или даже 1Гб. Nginx, желательно последний mainline. PHP5-FPM с Opcache, для Opcache необходимо выделить 32Мб. Если сайтов больше чем 1 - возможно придется увеличить до 64Мб. Вместо MySQL ставим MariaDB. Обязательно ставим Memcached, php5-memcached (c буквой "d" в конце), ему даем 64-128Мб памяти. В WordPress устанавливаем плагин Memcached Redux (только внимательно читаем как его устанавливать - вместо активации плагина надо скопировать файл в wp-content). Это включит persistent object cache на уровне WordPress, большинство запросов вообще перестанет доходить до БД, а это самое узкое место на минимальном дроплете. Кроме того, если уж делать все серьезно, ставим плагин FFPC (Fast Full Page Cache), он позволит кешировать страницы целиком, а чуть поковырявшись с конфигами, можно кешировать страницы в Memcached (то есть в память), и отдавать их оттуда непосредственно Nginx'ом, даже не поднимая PHP-процесс, и уж тем более не касаясь базы данных. Объем памяти для Memcached, возможно, придется увеличивать - все зависит от объема сайта. Но при таком подходе вы получите очень высокую скорость отклика от своего маленького сервера, и он сможет выдерживать очень большие нагрузки. С полностью кешированным в память сайтом и отдачей Nginx'ом непосредственно из Memcached, а также с оптимизированным кодом и файлами (минификация и конкатенация скриптов и стилей, gzip, оптимизированные картинки и т.д., минимизация количества запросов и т.п.) данный дроплет за $5 сможет обслуживать и 50 000 просмотров в сутки. А это уже 1 500 000 в месяц. Даже пиковые 1-2-3 тысячи запросов (что будет крайне редко, если будет вообще) за короткий промежуток времени ("хабраэффект") пройдут еле-еле заметно - даже если начнет использоваться swap, на SSD-дисках он быстр. В итоге часть клиентов будут испытывать небольшие задержки, не более. Но это речь об одновременной тысяче посетителей на сайте, не меньше. К тому времени, как аудитория сайта дорастет до этого уровня, уверен вы уже перейдете хотя бы на дроплет за $10. А там ресурсов больше, при аналогичном подходе этот дроплет выдержит намного больше.
    Ответ написан
    5 комментариев
  • Как отображать страницу автора Wordpress, если у него нет постов?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    А пользователь после регистрации уже активирован?
    Возможно проблема не в в коде, а в url rewrite. Попробуйте сделать тест - зарегистрироваться как пользователь, после этого в другой вкладке обновить постоянные ссылки. Вернуться на вкладку с пользователем и проверить, есть 404я ошибка или нет.
    Вообще, неплохо было бы подебажить, хотя бы с помощью плагина Query Monitor. Он покажет, какой запрос, как его вордпресс распарсил, какой шаблон пытается загрузить и какой объект пришел из бд по запросу. Исходя из этих данных можно понять, откуда 404я.
    Ответ написан
    Комментировать
  • Как сделать, чтобы wordpress показывал посты для всех языков (Polylang)?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    У Polylang, при всей моей любви к этому плагину, есть несколько недостатков, вызванных архитектурой WP. И это - один из этих недостатков. К счастью, один наш земляк это решил - попробуйте плагин Language Mix.

    Кроме этого, в документации Polylang есть вот такая полезная штука: How to display the default language post if the tr...
    Ответ написан
    Комментировать
  • Как для Wordpress MU узнать, авторизован ли пользователь на другом подсайте?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Вообще, если в wp-config.php константу домена куки прописать пустой, то авторизация по умолчанию будет работать так как надо, до тех пор пока подсайты являются поддоменами основного домена (без использования маппинга других доменных имен). Авторизовавшись на любом из сайтов сети пользователь остается авторизован на любом другом сайте сети, включая главный сайт. По умолчанию в куку прописывается тот домен/поддомен, на котором пользователь авторизовася, поэтому авторизация слетает на другом сайте сети.
    Ответ написан
    Комментировать
  • Удаленная работа, как обезопасить себя?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Очень разумный подход у Suntechnic, хотя и специфический - такой грубый фильтр отсеивает достаточно много адекватных клиентов. Каждый со временем вырабатывает некий фильтр, по которому происходит отсев. В оффлайне у меня это всегда происходит на первой встрече, благодаря 16-летнему опыту я на первом разговоре определяю, клиент проблемный или нет. Если проблемный - не стану с ним работать, даже если вдруг буду сидеть в долгах а он будет обещать фантастический бюджет :) В онлайне - везде свои методы и нюансы, но я всегда стараюсь применить оффлайн-опыт и тут - по возможности с каждым потенциальным клиентом перед соглашением созваниваюсь в скайпе, благо английский у меня свободный. Серьезные клиенты с удовольствием проводят такие сеансы связи / "собеседования". Когда ты с человеком пообщался голосом, или даже с видео, посмотрели друг на друга - совершенно другой уровень отношения. Ну и отфильтровать жучил и мутных можно достаточно легко с очень высокой долей вероятности.

    Что касается остальных нюансов. С новыми клиентами первый проект всегда через безопасную сделку и с документами биржи. С повторными клиентами уже часто работаю мимо биржи, напрямую. Если это повторное обращение, значит клиент остался доволен первой работой, в этом случае можно спокойно требовать предоплату, и клиент ее без проблем сделает.

    Бонус: Для повышения конверсии важно писать правильные заявки на проект, а не стандартное "я есть крут, сделаю все зашибись". Я всегда в заявке описываю что конкретно надо сделать, если нужно - задаю релевантные вопросы. Если есть пример подобной реализации в портфолио - даю ссылку. Если есть возможность при решении задачи сделать что-то дополнительное полезное (затратив при этом минимум усилий и времени) - упоминаю о таком бонусе. Также приблизительно считаю сколько времени это может занять и озвучиваю стоимость с разбивкой, чтобы клиент понимал сколько и за что платить. При таком подходе клиент сразу видит, что ты адекватный, опытный, вник в суть задачи, понимаешь что надо сделать и как. У него в принципе не остается возражений. На фоне стандартных ответов индусов в стиле "здравствуйте Сэр я готов чистить ваши сапоги" ваша заявка сразу привлекает внимание.
    Ответ написан
    Комментировать
  • На какую фриланс-биржу пойти?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Кроме вышеупомянутых бирж могу посоветовать Guru.com. Она менее популярна чем Odesk, поэтому там легче со свежим аккаунтом стартануть. Вывод денег в Украину - на долларовую карту Приватбанк через SWIFT, в течение суток. Сама карта выдается в банке сразу по визиту в отделение. Сам пользуюсь этой биржей и этим методом вывода, очень удобно. Пару дней назад получил письмо от Приватбанка, что они сделали возможность получать SWIFT и на обычную гривневую карту, но еще не пробовал, времени не было. По самой бирже - на месяц выдается определенное количество бидов бесплатно, за деньги можно докупить дополнительные биды. Как там с заказами под Android - не знаю, не мой профиль, но думаю должны быть, так как биржа достаточно старая и большая, активная.
    Ответ написан
  • Как использовать свою БД?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    WordPress позволяет использовать стороннюю таблицу wp_users, но тогда надо класс WP_Users переписать под свою структуру и данные (наследовать или заменить). Можно сделать свой oAuth сервер, один общий на все ресурсы - сайт, форум, WP. Во избежание дополнительных танцев с бубном над форумом я бы использовал BBPress - движок форума на базе WordPress. Он будет использовать тот же механизм юзеров, что и WP, а значит работы меньше.
    Ответ написан
    Комментировать
  • Как работает схема пополнения счета на сайте?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    С технической стороны алгоритм такой:

    - есть аккаунт на сайте, у аккаунта есть значение "балланс"
    - подключен платежный гейт (та же робокасса или что-то другое)
    - авторизованный пользователь жмет кнопку "пополнить", переходит на платежный гейт, проводит оплату
    - гейт возвращает результат (ошибка или успешно), если успешно - обновляем значение "балланс" до нужной суммы, полученной в подтверждении от гейта
    - профит!

    Дальше, выполняя "покупки" на сайте, значение "балланс" будет обновляться соответствующим образом.
    Ответ написан
    2 комментария
  • Как сделать помощь при заполнении полей?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Плагинов для этого - тьма. Ключевое слово для поиска - autocomplete. Наверное, самый мощный и гибкий - Select2, но он и самый тяжелый и сложный в освоении. Есть родной jQueryUI Autocomplete. Есть простые и легкие - все зависит от конкретных требований. Нужен ли ajax, нужно ли произвольное оформление подсказок, локализация на разные языки, мультивыбор и так далее.

    Начать поиск можно отсюда.
    Ответ написан
    Комментировать
  • Какой тариф выбрать для ~10000 - 20000 посещений в день?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Советчики тут вам 8 ядер предлагают. Пишу русским языком - 10-20к - это мелочь. Для обслуживания такого количества запросов, даже с пиковыми 400-500 человек одновременно на сайте (чего у вас не будет, максимум 100-200) вам хватит базового тарифа за $5, максимум - за 10. Nginx, PHP-FPM 5.5.9 c OPcache, Memcached, MariaDB. Если же у вас большая часть запросов на сторонние сервера - вообще можете не переживать - хватит ресурсов.
    Ответ написан
    Комментировать
  • Стоит ли учить html(5) теги по-порядку и тратить на это отдельно время или же лучше на практике по ходу возникновения какой-либо проблемы?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Если речь именно об HTML5 - разобраться с семантикой, понять что такое строчные элементы, блочные элементы, а главное - секционирующие (sectioning elements). Получить общее представление о разных HTML5 APIs.

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

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

    Еще полезно подписаться на rss-каналы правильных сайтов и блогов, регулярно читать новости и уроки. Это должно быть ежедневной рутиной.
    Ответ написан
    Комментировать
  • Ценится ли IT-специалист, который умеет все?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Могу по себе сказать. Так уж получилось, что карьера у меня началась с графического дизайна, но в это же время я увлекся html. Сделал карьеру в дизайне, доработался до старшего арт-директора крупного РА, потом креативного директора, получил несколько наград на фестивалях. Потом понял, что уперся в потолок, и ушел раззвиваться проджектом. Дослужился до технического директора интернет-департамента крупнейшего телеканала страны. В процессе сильно втянулся в программирование (html-css-js-php все это время было перманентным хобби и отчасти дополнительным фрилансом). Сейчас как раз выступаю в роли CTO в крупном стартапе, одновременно являясь "играющим тренером", пишущим большую часть кода и рисующим интерфейсы. Мое знакомство с компьютерами началось с Линукса - в универе в интернет-центре все компы были на нем. Итого, на выходе получился дизайнер, верстальщик, програмер, сисадмин, проджект-менеджер с хорошим пониманием всего процесса целиком и всех мелких процессов в каждом направлении, а также с четким понимаем того, как это все превращается в системный бизнес. На всех этапах моих карьер эти навыки приносили очень хороший доход. Но есть одно "НО" - у меня на это ушло 16 лет. Шестнадцать. Есть такое правило 7000 часов (если мне не изменяет память). То есть, занимаясь серьезно одним делом 7000 часов ты становишься профессионалом в этой сфере. Берем 8 рабочих часов в день, 40 часов в неделю, 50 недель в году. Итого - 2000 часов в год. 3,5 года, чтобы стать профессионалом в одной сфере. Это если отнестись к делу серьезно. Если же по-быстрому нахвататься обрывочных и общих знаний из разных областей - толку от этого мало. Такой "специалист" заявляет, что знает все, но на самом деле толком не знает ничего.
    Ответ написан
    Комментировать
  • Существует ли плагин которые создает папки в медиафайлах вордпресса ?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    А зачем? По ходу вы вообще не представляете как работает система медиафайлов у WordPress. Каждый медиафайл - это запись (пост типа 'attachment') в бд. Для каталогизации есть плагины, добавляющие теги/рубрики для медиафайлов. Какая вам вообще разница, как оно на сервере по папочкам растыкано? Чем не подходит способ кучей загрузить их через медиа-загрузчик?
    Ответ написан
    6 комментариев
  • Почасовая работа: уволить фрилансера или оставить и провести разъяснительные беседы?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    А с чего вы взяли, что вам лучше знать, как ему продуктивнее работать? У меня есть кодер, который колбасит свою работу и параллельно смотрит сериалы в оригинале на английском - учит язык. У него в углу экрана поверх всего маленькое окошко с видео. На скорость и качество его работы вообще никак не влияет. Ему так комфортно. С чего я должен ему что-то запрещать? Кто-то параллельно с работой будет слушать музыку. Кто-то на планшете какую-то игрулю будет проверять каждые 30 минут - вы этого всего не отследите, да и зачем? Не надо драконить людей, вы что, рабовладелец?

    UPD: По большому счету, вот эти ваши придирки и разборки как раз и снижают продуктивность. Вы сами себе вредите. Как правильно коллеги пишут - гнать в шею такого заказчика :)
    Ответ написан
    5 комментариев