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

    @maxus99
    фрилансер
    Я лично использую этот шаблон для своих плагинов - wppb.io (https://tommcfarlin.com/wordpress-plugin-boilerplate/).
    Для маленького плагина структура может быть слишком исчерпывающей, но можете изучить, что-бы понять как нужно делать.

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

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

    @Dum_spiro_spero
    Если вы хотите написать торгового робота - то есть часть связанная с освоением непосредственно софта и API контор брокеров-дилеров, а есть собственно разработка алгоритмов. Первое - вполне очевидно, детали подскажут. Второе - темный лес - потому что хорошими алгоритмами никто не делится, а плохие вам не нужны. Традиционно используется матстатистика, а дальше кто во что горазд - какие угодно модели рынка, психологические модели, и т.п... Это некоторое капитанство, но вдруг как-то поможет. Наверное надо вначале написать что-то чтобы работало абы как - а дальше залезать в книжки по статистике и финансам.
    Ответ написан
    Комментировать
  • Как при добавлении класса одному элементу, убирать класс у других?

    In4in
    @In4in
    °•× JavaScript Developer ^_^ ו°
    $(".checkbox").click(function(){
      $(this).addClass("selected")
          .siblings(".checkbox").removeClass("selected");
    });
    Ответ написан
    Комментировать
  • Для чего нужны текстовые домены в WordPress?

    Punkie
    @Punkie
    Это для локализации плагина на другие языки. Домен нужен для того, чтобы идентифицировать переводимые строки плагина во всяких системах для перевода (po-edit или codestyle localization например).

    Конструкция такова: __("Переводимое слово", "Домен"). То есть по-умолчанию будет выведено слово "Вход". А в случае язык сайта будет английский например и в плагине есть соотвествующий файл локализации - вместо него подставится "Enter" или "Sign in". Ну или как там будет переведено.
    Ответ написан
    2 комментария
  • Где вы берете полезные наработки для сайтов?

    mrusklon
    @mrusklon Автор вопроса
    Не получается? Яростно гугли!
    вот нашел хороший сайт еще . Сразу с превьюшками даже
    www.jqueryscript.net
    Ответ написан
    Комментировать
  • Как правильно разработать структуру плагина для Wordpress?

    dimasmagadan
    @dimasmagadan
    1 используйте API, которые есть в WP
    запрос на сторонний сервер правильнее сделать с помощью через HTTP API
    https://codex.wordpress.org/HTTP_API

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

    если идей, как организовать плагин нет, скачайте любой из гугла по "wp plugin boilerplate".
    чего-то особо уникального там нет, подход везде примерно одинаковый.
    отличаются названием функций/классов, путями и названием папок

    >Как правильно это организовать, чтобы только после получения данных срабатывал шорткод?
    в функции шорткода пропишите условие,
    если данные есть - показывать, если нет - не показывать
    Ответ написан
    Комментировать
  • Как научиться делать "сайт под ключ"?

    Чувак, у тебя надуманная проблема, которая тем не менее ввергает тебя в страх и наводит на тебя оцепенение. Решается просто - когда у тебя появляется понимание того, что тебе не хватает знаний в какой-то области - надо садиться и учить это. Может сейчас тебе кажется, что сделать сайт на вордпрессе очень сложно, тем более что сейчас тебе наговорили, что для этого надо дизайнера, сеошника, фронт/бэкэндера и админа впридачу - не слушай. Это другой уровень проектов, которыми ты займешься тогда, когда это тебе потребуется, сейчас тебе нужно:
    Cео - изучить рекомендации от яндекса - https://yandex.ru/support/webmaster/recommendation... - тебе этого хватит, а если кто-то попросит продвигать его сайт - просто скажешь, что ты программист и этим не занимаешься.
    Дизайн - на тостере поискать вопросы "где взять бесплатные качественные шаблоны". Вообще мне лично заказчики сами предоставляют макеты дизайна, либо я рекомендую им знакомых дизайнеров. На худой конец можно взять шаблон с тимфореста, но тут заказчик должен решать, шаблон или уникальный дизайн он хочет. Также неплохо бы слепить из пары этих шаблонов примеры для портфолио, чтобы заказчик имел представление, какого уровня дизайн будет, если он решит использовать шаблоны.
    Администратор - блин, да бросьте, вордпресс на хостинг поставить, для этого уже нужен администратор? Если раньше ты имел дело с движками, то наверное как-то ставил сайты, если нет - научишься. Вбить в конфиги вордпресса или опенкарта параметры для доступа к базе и настроить там же пути - для этого не нужен администратор.
    Фронтэнд - бэкэнд - да, тут надо заниматься. В твоем случае надо учить php (вордпресс, опенкарт и все остальное написано именно на нем). Ну а как ты хотел, ты ж фрилансер, тебе по роду деятельности надо будет постоянно совершенствовать свои знания :) Но тут есть свои плюсы - это интересно! А через какое-то время наверное ты даже специализацию выберешь себе и волне возможно с php перейдешь на другой язык, который тебе будет больше нравиться (go? nodejs?). Если не хочется обучаться программированию - тогда дорога в дизайнеры, это тоже прикольно. Либо раз у тебя есть знания js - в контору на фронтэндера, но для этого тебе дополнительно нужно будет посмотреть на backbone и angular.

    Дополнительно - ты уже сам четко сказал, что тебе не хватает знаний вордпресса, модэкса и опенкарта. Осталось всего ничего - загрузить openserver и поставить один из этих движков, а после этого попробовать натянуть на него свою верстку. Только учти, в опенкарте около сотни файлов, отвечающих за шаблон и верстка такого магазина займет у тебя минимум пару недель. На вордпрессе все куда быстрее, поэтому чтобы не потерять мотивацию лучше наверное с него начать. Но в опенкарте структура кода гораздо лучше и понятнее.

    В общем каждый раз когда видишь, что требуются какие-то знания - иди и получай их вместо того, чтобы задаваться вопросом "что делать, ведь я этого не знаю".
    Ответ написан
    1 комментарий
  • Путь программиста.Стоит ли?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Не важен путь, который выберете вы. Важно то, как вы его пройдете.
    Самообразование - ключ к любой профессии. Никто и никогда вас не станет ничему учить. Забудьте об этом, все только сами.
    Как, по-вашему люди из самых запдрыпанных мест становятся великими? Трудом.
    Учитесь тому, что интересно. Хотите GameDev? Без проблем. Сейчас осень, впереди зима и весна. Садитесь за Java или Swift. Напишите к лету приложение и разместите его в магазине. Будет настоящий незаменимый опыт. Потом еще и еще. Не сразу, но начнете на этом зарабатывать. Было бы желание, остальное приложится.
    И к экзаменам тоже можно подготовиться. И сдать их на отлично самому. Не смотрите на ленивцев вокруг. Они вас кормить не станут. Они так и дальше будут сосать пиво из бутылочки и сидеть на шее у родителей до последнего.
    Или вы тоже хотите пойти на стройку, чтобы зарабатывать на пиво? Тогда вперед.
    Ответ написан
    Комментировать
  • Адаптация изображений под все девайсы на wordpress?

    @LiguidCool
    Это вопрос вёрстки, а не CMS.
    Ответ написан
    Комментировать
  • Интерактивная поэтажная карта здания, палаты и койки?

    begemot_sun
    @begemot_sun
    Программист в душе.
    Для карт используйте leafletjs.com. Внутри можете использовать кастомные карты + добавлять объекты на них. Есть богатый выбор плагинов, может найдете что под себя: leafletjs.com/plugins.html
    Ответ написан
    2 комментария
  • Как оптимизировать картинку под определенные размеры в самом темплейте?

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

    Есть такое решение: https://github.com/syamilmj/Aqua-Resizer
    Суть:
    Загрузили картинку 1000*1000px, миниатюру новости.
    В списке новостей нужно выводить 200*200.
    При первой загрузке она ресайзится/кропается и складывается в кеш, далее выводится порезанная из кэша.

    Когда на сайте много материалов с разными размерами миниатюр профит очевиден.

    В пул-реквестах есть хук чтобы удалять нарезанные версии при удалении оригинала.
    Ответ написан
    7 комментариев
  • Как оптимизировать картинку под определенные размеры в самом темплейте?

    wppanda5
    @wppanda5 Куратор тега WordPress
    WordPress Mедведь
    https://github.com/bfintal/bfi_thumb
    Вторая версия мне нравится сильно меньше
    Ответ написан
    Комментировать
  • Как грамотно темизировать/верстать плагины для Вордпресс?

    dimasmagadan
    @dimasmagadan
    я делаю так
    верстаю с sass, в файле main.scss добавляю такое:
    .projectPrefix{
    @import
    	"_normalize",
    	"modules/_layout",
    	"modules/_editor",
    	"modules/_general",
    	"vendor/_wbbtheme",
    ...
    }

    получается, что все стили у меня идут как .projectPrefix div{}, .projectPrefix .title{} и тп.
    соответственно, вывод плагина нужно обернуть в div.projectPrefix.

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

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Ответ asd111 шикарен, от себя добавлю:

    - WordPress, на котором работает 24% всего тырнета - переписанный форк другой платформы, одним человеком - Matt Mullenweg
    - Sublime Text - изначально написан одним Jon Skinner, да и сейчас большую часть он пилит
    - John Carmack, автор движка для таких легендарных игр как Doom, Wolfenstein, Quake
    - Тим Бернерс-Ли, кагбэ - HTML, URI, URL, HTTP и много чего еще. Википедия
    - Richard M. Stallman - Emacs, gcc
    - Bill Joy - vi, rlogin, rsh, rcp, TCP/IP стек для BSD
    - John Resig - jQuery
    - Larry Wall - Perl
    - Anders Hejlsberg - Turbo Pascal, Delphi, C# (и частично .NET)
    - Bram Cohen - BitTorrent, который дает ~50% всего трафика сейчас
    - Yukihiro Matsumoto - Ruby
    - Sid Meier - любимые многими игры Civilization, как минимум
    - Phil Zimmermann - PGP
    - John Backus - Fortran
    - Jon Van Caneghem - разработал первую из серии Might and Magic
    - Bram Moolenaar - VIM
    - Joe Hewitt - Firebug, DOM Inspector
    - Simon Tatham - PuTTY
    - Shawn Fanning - Napster
    - Markus Persson (Notch) - Minecraft
    - Cleve Moler - MATLAB
    - Will Wright - SimCity
    - D. Richard Hipp - SQLite, Michael Widenius + David Axmark - вдвоем, MySQL, а mSQL из которого все пошло (с некоторыми оговорками), написал David Hughes. В свою очередь, сам SQL, основа всех и вся, хоть и был создан в IBM, написали его тоже всего 2 человека - Donald D. Chamberlin и Raymond F. Boyce
    - Eugene Roshal - Far, RAR формат, WinRAR
    - Rich Hickey - Clojure
    - Tim Sweeney - еще один игровой движок, Unreal Engine (точно знаю, что он в одиночку пилил 1ю и 4ю версию движка, по остальным инфы нет, но думаю тоже)
    - Austin Meyer - X-Plane
    - Justin Frankel - создатель Winamp and Gnutella, первой P2P
    - Charles Simonyi - первые Microsoft Word и Excel
    - Allan Odgaard - TextMate
    - Andrew Tridgell - rsync, samba
    - Jeff Atwood, Joel Spolsky - StackOverflow

    и еще тысячи таких людей по всему миру.

    ЗЫ: Пруфы не линковал - гугл и вики подтвердят.
    Ответ написан
    Комментировать
  • Минимум для junior web developer в Москве?

    27cm
    @27cm
    TODO: Написать статус
    Нет никакого минимума знаний при устройстве на работу. Это вам не ЕГЭ в школе, когда набрал минимальный проходной балл и поступил куда-нибудь. Никакой минимум вам не гарантирует работу младшего веб-разработчика, тем более в Москве.

    Смотрите, что требуют в вакансиях на эту должность.
    Ответ написан
    Комментировать
  • Зачем нужны CMS если есть phpmyadmin?

    Punkie
    @Punkie
    Потому что для каждой задачи обычно гораздо проще использовать узкоспециализированные инструменты, которые направлены конкретно на решение этой задачи максимально удобным способом.
    Если вы программист и вам удобно юзать phpmyadmin - это не значит, что он всем интуитивно-понятен и удобен.
    Я в своих вордпресс-проектах для клиентов в админ-панели вообще убираю все ненужные кнопки и вообще всё, что им лучше не использовать. В самом простом случае есть просто 3 пункта меню (например: Блог, Клиенты, Отзывы). И кнопка "Выйти". Всё. Абсолютно любой человек, который способен нажать три кнопки, разберется с этим делом без инструкций.
    Ответ написан
    3 комментария
  • Какие варианты существуют создать пользовательские магазины для пользователей одного сайта на wordpress?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Multisite решит вопрос. Каждый сайт может иметь свой магазин, на то они и автономные сайты сети.
    Ответ написан
    2 комментария
  • Где найти работу по удаленке в 40+ лет?

    NeiTrinO2
    @NeiTrinO2
    Предприниматель
    Недавно написал книгу о том как начать бизнес с нуля и начать по-настощему зарабатывать.
    Книгу можно скачать бесплатно: solodukha.com/thebook

    Коротко о себе:
    - Стартовал 8 бизнесов, из них 4 по продаже оборудования. Все были без физического офиса, без физического склада. Последний раз вообще сотрудники были на удаленке.
    Рекорд: вывод компании за 2 месяца на оборот $250'000 в месяц при средней доходности 25-30%
    - В один из своих бизнесов привлек инвесторский займ в размере 5 млн. руб.
    - Разработали продал инвестиционный Проект с объемом инвестиций в 1,2 млрд Евро

    Готов помочь
    Ответ написан
    1 комментарий
  • CMS vs Руки из нужного места?

    scherbuk
    @scherbuk
    Старайтесь делать то, что что вам нравится)
    Ответ написан
    Комментировать
  • Как правильно написать авторизацию/аутентификацию?

    С полного нуля. Пользователь вводит логин + пароль:
    Пользователь входит через ВК


    Не имеет особого значения, ваша задача полученную информацию замапать на ID пользователя в ВАШЕЙ базе, с учетом необходимых проверок. ВК будет считаться доверенной стороной, т.е. ему вы доверяете процедуру проверки аутентичности юзера. Если аутентификация на вашей стороне - то проверяете вы (проверяете пароль по соленому хешу в базе, ну или как-то еще). Если у вас "быстрый вход" по ВК (без регистрации), то нужно сделать еще авторегистрацию, если userid не найден по данным от ВК. Правда, тут нужно быть готовым, что юзер захочет слинковать свои аккаунты, если он уже зарегался по логину/паролю. Ну или хотя бы предупредить при входе по ВК, что он в базе не найден и будет создан новый акк, чтобы он не удивлялся потом.

    Что писать в куки


    идентификатор сессии. Как уже сказали, должен быть сложным для копирования (скопированный идентификатор сессии - украденная сессия), уникальным. Погуглите алгоритмы или воспользуйтесь стандартыми. Сессии хранить или стандартными средствами, или попробовать редиску (там есть авто-expire, что приятно).

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

    проверять наличие сессии для данного пользователя (по ID пользователя с этапа аутентификации). Если сессия уже есть - убивать ее, создавать новую (новое устройство успешно зайдет, старое - "разлогинится"). Юзеру правда ничего не помешает скопировать идентификатор сессии из кукисов на другой девайс, так что можете еще в сессию IP писать, или user-агента (поменялся - пересоздаем сессию).

    А если с нескольких?

    ничего дополнительно не проверять, допусть создание любого количества сессий.

    Как на каждой странице организовать проверку авторизован пользователь или нет?

    идем в хранилище сессий (стандартные механизмы PHP/Redis), запрашиваем/стартуем сессию по идентификатору, пришедшему в куках. Если такой сессии нет (устарела, либо никогда и не было, идентификатор юзер сам придумал) - авторизацию не выполняем. Если сессия есть - то в зависимости от того, что мы там храним, либо достаем USERID, и пробиваем по основной БД его права, либо достаем права из самой сессии, если мы их там закешировали. "Выдача" прав - есть процедура авторизации. Теперь в зависимости от набора прав - меняем логику внутри скрипта. В больших системах применяют понятия ролей и групп - это все можно погуглить. Вкратце - при авторизации определяется, в каких группах состоит пользователь. Затем, по множеству групп сопоставляются роли, которые "играет" пользователь в системе (администратор данных/пользователей, администратор бэкапа, главбух, менеджер и т.д. и т.п.). Роли фиксированы, и зависят от логики приложения - в зависимости от имеющихся у пользователя ролей меняется и поведение приложения.
    Также сейчас можно встретить claim-based подход, особенно в asp.net - тоже погуглите.

    Что хранить в сессии?

    Как минимум - USERID, но можно еще и закэшировать информацию о его правах, чтобы не читать постоянно ее из основной базы. Плюс, тут же хранить данные, относящиеся к САМОЙ сессии, например тот же IP входа, время входа и т.д. Тут зависит от задачи.
    Ответ написан
    Комментировать