web-dev-qa-db-ja.com

WordPressでiGoogleのようなドラッグアンドドロップウィジェットを作成できますか?

私はWordPressでiGoogleのようなものを作りたい。そこではウィジェットをドラッグアンドドロップできる。 HTML 5ではどのようにそれができるでしょうか。

1
MsManiya

これは面白い質問です。一般的に、私はEAMannに同意します - これはより一般的な議論にもっと適しているでしょう。あなたがここでそれを尋ねると同時に見て、私はあなたが使いたいかもしれないWordpress特有のアプローチを与えるつもりです。

Wordpressの文脈では、「ウィジェット」は明らかに特定の意味を持っています。 Wordpressのサイドバーウィジェットシステムは非常に柔軟で、多数のウィジェットを利用できる確立されたシステムであることから恩恵を受けます。これは始めるのに賢い場所になります。たとえば、隣接して配置された複数のサイドバーを含むテンプレートを作成できます。

ウィジェットのスタイルを設定するのは簡単なはずです。それらをドラッグアンドドロップ、折りたたみ、編集可能などにするために、私は このチュートリアル をお勧めします。

それは今少しトリッキーになります。私はあなたがあなたがそれぞれのユーザに彼ら自身のウィジェットを設定させることができることを望み、そしてこれらの変更が持続的であるべきであると思います。 (これらの要件のいずれかが不要な場合は、はるかに簡単になります。)これは難しいことです - これらの設定を保存するのにWordpressウィジェットシステムを使用することはできませんが、インスピレーションを得るために使用できます。

PhpMyAdmin(または類似のもの)がインストールされている場合は、ワードプレスデータベースにアクセスして以下を実行してください。

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

詳細については、格納されたPHP配列を使用した結果の全体ロードを取得する必要があります。各ユーザーが自分のウィジェットを設定できるようになる場合は、この形式を使用できますが、オプション名の最後にユーザーIDを追加します。あなたはそれが変更されるたびにウィジェット配置の詳細を送るためにAJAXy javascriptの簡単な部分を書くことができます。 PHP受信者はそれに応じてデータベースを更新します。

ユーザーデータを保存する1つの方法ですが、どのようにしてそれを再度取得して表示するのでしょうか。個人的には、私はwordpressが最初は通常デフォルトを提供するようにしたいと思います。 (おそらくCSSオーバーレイやプログレススピナーを使って)次に別のAJAXリクエストを起動してユーザー指定のウィジェットをロードします。具体的には、最初に配置を読み込み、次に個々のボックスにデータを(AJAXを介して)個別に読み込みます。これにより、認識される読み込み時間が短縮されます。

だからそこに行きます。申し訳ありませんが、それは非常に質の高い回答ですが、かなり広範囲に及ぶ質問です。私はあなたにいくつかのアイデアを与えてほしい。がんばろう!

PSあなたがこれをうまく動かせるのであれば、私はプラグインとしてそれを配布することをお勧めします。

3
Tom Wright