質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.51%

  • PHP

    20388questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • WordPress

    7232questions

    WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

  • jQuery

    6723questions

    jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

  • HTML5

    4027questions

    HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

  • CSS3

    2076questions

    CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

【Wordpress】一部レイアウトをドラックアンドドロップで簡単操作

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 383

yamato_01

score 1

前提・実現したいこと

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ページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

+3

Wordpressのカスタムメニュー機能のように、ドラックアンドドロップで簡単に順番を変更出来るようにしたいです。

そのメニュー機能を利用するのが一番速いのではないでしょうか。
メニューにはカスタムリンクを設定することができ、記事ページや固定ページなどではなくてもURLとリンクの文字列を指定することができます。

少し無理矢理ですが、設定項目のリンク文字列にはimg要素を仕込むことができます。
これならドラッグアンドドロップで順番を変更することも容易ですので、期待の機能が得られるのではないでしょうか。

作成したメニューはwp_nav_menu()で表示できます。
テンプレートタグ/wp nav menu - WordPress Codex 日本語版

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/12/18 11:40

    ご回答下さりありがとうございます!
    やはりカスタムメニュー機能を活用するのが1番早そうですね。
    一度調整してみます!
    本当にありがとうございます!

    キャンセル

  • 2017/12/18 12:01 編集

    文字列にimgを挿入しなくてもMenu Imageというプラグインを使用すればメニューに画像を添付できるようです。
    サイズや位置の調整もできるようなので、こちらを使った方が良いかもしれませんね。

    参考
    wordpressのメニューを画像にするプラグインMenu Image
    http://webclub.link/2016/02/13/wordpress-menu-image/

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.51%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • PHP

    20388questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • WordPress

    7232questions

    WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

  • jQuery

    6723questions

    jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

  • HTML5

    4027questions

    HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

  • CSS3

    2076questions

    CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。