【Wordpress】一部レイアウトをドラックアンドドロップで簡単操作
解決済
回答 1
投稿
- 評価
- クリップ 0
- VIEW 1,675
前提・実現したいこと
Wordpressのカスタマイズを行っています。
この度実現したい事は、
Game8 [ゲームエイト]|【日本最大級】ゲーム・アプリの総合攻略サイト
https://game8.jp/https://game8.jp/
上記サイトの冒頭部「人気!話題のゲーム攻略」リストを作成する事です。
※作成したリストはトップページのみ表示させます。
具体的には、上記のリストをWordpressの管理画面で簡単に編集できるような機能を作成する事です。
Wordpressのカスタムメニュー機能のように、ドラックアンドドロップで簡単に順番を変更出来るようにしたいです。
具体的にどのような機能を使えば再現できるか全く思いつきません。
html,cssにてレイアウトはおおよそ完成しています。
それを、管理画面上の簡単な操作で順番や内容を変更出来るようにしたいと考えています。
■考えた方法その1
「Contact Form 7」のように、Wordpressの管理画面左側に専用のメニューを設け(例:アプリリスト)その画面から「画像」というボタンをクリックするとメディアライブラリが開き画像を選択、その横に入力フォームでテキストを入力
その後「生成」をクリックすると、用意してあったhtmlの任意の場所に上記の「画像」と「テキスト」が組み込まれ、htmlのショートコードが生成。
※例:「画像」は「img src="☆☆☆"」星の部分に自動で入力
この時生成されるショートコードの名前は固定で、すでにfanctions.phpに登録済みとし、テーマファイル「home.php」にも記載済みとします。
※
<?php
echo do_shortcode('ショートコード');
?>
を予定
上記の仕組みで生成されるショートコードの文字列は都度変わる事はなく固定、そうする事によって管理画面上で画像やテキストを変更する度に自動でテーマに反映される。
■考えた方法その1の問題点
ドラックアンドドロップやプレビューが出来ない、及び再現する方法が分かりません。
▲考えた方法その2
カスタムメニューの「Walker」を編集、カスタムウォーカー機能を使用する方法
▲考えた方法その2の問題点
本当にカスタムウォーカー機能で色々と弄れば望んでいる事が実現出来るのか不明、本当に出来るのか曖昧な為まだ詳しく勉強しておりません。
●考えた方法その3
フォームを使い変数を指定ヶ所に代入?
考えた方法その1に似ていますが、Wordpressの管理画面左に新規でメニューを追加し、そのメニュー内で、jqueryを使いフォームを任意の数だけ追加や削除
※参考記事https://webkaru.net/jquery-plugin/repeater/
作成するフォームは画像を選択するフォームとテキストを入力するフォーム
フォームのaction属性は新規作成するphpファイルとし、受け取る側のphpファイルでは
foreach文で決まったhtmlの指定ヶ所に「name」属性の値を指定
その後テーマファイルhome.phpの表示させたい部分にインクルードタグを使い上記で作成したphpを読み込む
●考えた方法その3の問題点
ドラックアンドドロップでの操作ではない
フォームで連想配列させる方法がわからない(調べましたが出来そうにありませんでした)
一度フォームへ入力して出力後、順番や内容を変更しようとした際にまた1から全て選択して入力する必要がある
結論
必死に考えましたが、上記の方法しか思いつかず、いずれも実現不可or希望通りの結果が得られません。
どのようなアプローチをとればベストなのか、実現出来るのか、何かしらのヒントなど頂けるとすごく助かります。
宜しくお願い致します。
補足情報
htmlやcssについてはある程度勉強しました。
jqueryについては勉強中で分からないことがあればネットで検索して1文ずつ解読できるといった程度です。
Wordpressについては、運営歴はかなり長いですが、テンプレートタグなどについての知識は全然です。
現在勉強中で、ネットなので言ってる意味は調べればある程度理解できます。
-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 過去に投稿した質問と同じ内容の質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
checkベストアンサー
+3
Wordpressのカスタムメニュー機能のように、ドラックアンドドロップで簡単に順番を変更出来るようにしたいです。
そのメニュー機能を利用するのが一番速いのではないでしょうか。
メニューにはカスタムリンクを設定することができ、記事ページや固定ページなどではなくてもURLとリンクの文字列を指定することができます。
少し無理矢理ですが、設定項目のリンク文字列にはimg
要素を仕込むことができます。
これならドラッグアンドドロップで順番を変更することも容易ですので、期待の機能が得られるのではないでしょうか。
作成したメニューはwp_nav_menu()
で表示できます。
テンプレートタグ/wp nav menu - WordPress Codex 日本語版
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 88.11%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる
2017/12/18 11:40
やはりカスタムメニュー機能を活用するのが1番早そうですね。
一度調整してみます!
本当にありがとうございます!
2017/12/18 12:01 編集
サイズや位置の調整もできるようなので、こちらを使った方が良いかもしれませんね。
参考
wordpressのメニューを画像にするプラグインMenu Image
http://webclub.link/2016/02/13/wordpress-menu-image/