msmaniya
  • 0
Новичок

Можно ли создавать виджеты перетаскивания, такие как iGoogle, в WordPress?

  • 0

Я хочу сделать что-то вроде iGoogle в WordPress, в котором я могу перетаскивать виджеты. Как это можно сделать в HTML 5?

Share
  1. Хотя вы спрашиваете в контексте WordPress, это скорее общий вопрос программирования, и он лучше подходит для таких сайтов, как StackOverflow.

    • 0
  2. Это интересный вопрос. В целом я согласен с Э.А.Манном — это лучше подходит для более общего обсуждения. Однако, видя, как вы спрашиваете об этом здесь, я собираюсь дать конкретный подход к WordPress, который вы, возможно, захотите использовать.

    В контексте WordPress «виджет», очевидно, имеет особое значение. Система виджетов боковой панели WordPress очень гибкая и выигрывает от того, что она является устоявшейся системой с большим количеством доступных виджетов. Это делает его разумным местом для начала. Например, вы можете создать шаблон, содержащий несколько боковых панелей, расположенных рядом друг с другом.

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

    Теперь становится немного сложнее. Я предполагаю, что вы хотите, чтобы каждый пользователь мог настраивать свои собственные виджеты и чтобы эти изменения были постоянными. (Если какое-либо из этих требований не требуется, все становится намного проще.) Это сложно — мы не можем использовать систему виджетов WordPress для хранения этих настроек, но мы можем обратиться к ней для вдохновения.

    Если у вас установлен PhpMyAdmin (или аналогичный), перейдите в базу данных WordPress и выполните следующее:

    SELECT *
    FROM `wp_options`
    WHERE `option_name`
    REGEXP '^widget_'
    LIMIT 0 , 30
    

    Вы должны получить целую кучу результатов с сохраненными массивами PHP для деталей. Если бы каждый пользователь мог устанавливать свои собственные виджеты, вы могли бы использовать этот формат, но добавить идентификатор пользователя в конец имени параметра. Вы можете написать простой фрагмент AJAXy javascript, чтобы отправлять детали расположения виджета каждый раз, когда он изменяется. Затем получатель PHP соответствующим образом обновит базу данных.

    Так что это один из способов сохранить данные пользователей, но как мы можем получить и отобразить их снова? Лично я бы сначала позволил WordPress нормально обслуживать значения по умолчанию. (Возможно, с наложением CSS и/или счетчиком прогресса.) Затем я запускал еще один запрос AJAX и загружал указанные пользователем виджеты. В частности, я бы сначала загрузил аранжировку, а затем по отдельности загрузил данные (снова через AJAX) в каждую коробку. Это ускорит воспринимаемое время загрузки.

    Итак, поехали. Извините, это такой высокий уровень ответа, но это довольно далеко идущий вопрос. Надеюсь, я дал вам несколько идей. Удачи!

    PS Если у вас это работает, я бы рекомендовал распространять его в виде плагина.

    • 0

Оставить ответ

You must login to add an answer.