カスタム投稿タイプ「スライドショー」のカスタム投稿メタボックスを作成する必要があります(この投稿タイプは既に作成されています)。各メタボックスは、各スライドスライドのコンテンツを保持し、対応するカスタムフィールドに保存します。各メタボックスには、次のフィールドが含まれている必要があります。
- タイトル(テキストフィールド)
- 画像(img URLのテキストフィールド、または理想的には投稿に添付された画像のサムネイルを表示するドロップダウンリスト)
- 埋め込みコード(テキスト領域)
- 説明(wysiwyg)
- スライドを非表示にする(スライドを削除せずに一時的に非表示にするために使用するチェックボックス)
- [スライドを削除](このスライドで入力された投稿メタフィールドの内容を削除するボタン)
また、「スライドを追加」できるボタンが必要なので、クリックすると、最初の複製である「スライド」カスタムメタボックスが追加されますが、各カスタム投稿メタフィールドに増分番号が追加されます。現在、15個のメタボックスしかありませんが、スライドショーテンプレートは、5個のメタボックスのみが入力された場合、5個のスライドのみが表示されるように設定されています。
最後に、「ドラッグアンドドロップ」または注文番号を入力できる別のテキストフィールドを使用して、スライドの順序を変更できるようにします。
「More Fields」プラグインとRarstのコードヘルプを使用して、必要な場所でほとんど入手できました。「More Fields」プラグインでは、各メタボックスに次のフィールドがあります。
- タイトル(テキストフィールド)
- 画像(投稿に添付された画像のドロップダウンリスト)
- 埋め込みコード(テキスト領域)
- 説明(wysiwyg)
- スライドを非表示にする(スライドを削除せずに一時的に非表示にするために使用するチェックボックス)
「More Fields」プラグインを使用してセットアップする方法のスクリーンショットを次に示します。
これに関する問題は、「More Fields」は<?php delete_post_meta($post_id, $key, $value); ?>
どこでも使用しないため、一度作成されたスライドを削除する方法がないことです。プラグインのもう1つの問題は、プラグインの信頼性が低く、更新時に頻繁に破損することです。
次のような独自のカスタムメタボックスを使用して、同様のソリューションを実装できました。
- タイトル(テキストフィールド)
- 画像(img URLのテキストフィールド)
- 埋め込みコード(テキスト領域)
- 説明(テキスト領域)
- スライドを非表示にする(スライドを削除せずに一時的に非表示にするために使用するチェックボックス)
この実装では、複数のTinyMCEフィールドを動作させたり、画像のドロップダウンボックスを表示したりすることはできません。TinyMCEコードは、最初のメタボックスのインクリメンタルコピーを作成するコードを追加するまで機能するようですWarning: array_push() [function.array-push]: First argument should be an array...
。この時点で、TinyMCEボタンがあるフィールドのすぐ上にこのエラーが表示されます。
また、私はライターに各スライドのビデオまたは画像のいずれかを入力することを頼りにしていますが、それは大丈夫ですが、スライドを選択するラジオボタンを持っている方が良いかもしれません(おそらくデフォルトに画像)は、スライドショーテンプレートの条件付き表示ステートメントに関連付けられています。
書き込みパネルの上部にある「画像のアップロード」と簡単に言ったカスタムメタボックスは気にしませんが、サイドバーのビルトイン「Featured Image」ボックスを使用して画像のアップロードを処理しています。
:最終的に私はこれに似たスライドショーを探していますhttp://www.nytimes.com/slideshow/2010/08/10/science/20100810angier-1.html。私は、スライドのコンテンツとして、画像ではなくビデオを使用できるようにしたいと考えています。ライター向けの直感的で使いやすい管理パネルが必要です(HTMLやショートコードを使用した場合、技術に精通しておらず、信頼性も低くなります)。例から明らかでない場合に備えて、すべてのスライドで新しいページビューを生成する必要があります。
Drag'n'Dropの並べ替えは優先度が高いわけではありませんが、クールです。これを本当にうまく処理するプラグイン、SlideDeckを見つけました。残念ながら、プラグインは私のニーズに合っていませんが、スライドの順序を処理する方法は非常に洗練されています。サイドバーにある独立したメタボックスで、スライドを好きな順番にドラッグできます。これは、書き込みパネルに別のスライドメタボックスを追加する[スライドの追加]ボタンをクリックして、スライドを追加する方法でもあります。これがスクリーンショットです:
また、wordpressリポジトリで実際のスクリーンショットを見ることができます。
これが私のすべてのコードです:
スライドショーの投稿タイプとスライドショーのページネーションを設定する機能:http : //loak.pastebin.com/g63Gf186
私がメタボックスを作成したDeluxeBloggingTips.com(DBT)の元のコード:http ://loak.pastebin.com/u9YTQrxf
同じメタボックスの増分バージョンを提供するために修正したDBTコードのバージョン:http ://loak.pastebin.com/WtxGdPrN
TinyMCEの複数のインスタンスを許可するためにChris Burbridgeが作成したDBTコードの修正バージョン:http : //loak.pastebin.com/Mqb3pKhxこのコードでTinyMCE は機能します。
増分と、投稿に添付されているすべての画像のドロップダウンリストから画像を選択できるフィールドを組み込むことを試みるバーブリッジのコードの変更:http : //loak.pastebin.com/xSuenJTK この試みでは、TinyMCEが壊れており、ドロップダウンが機能しません。
これはおそらく問題ではないかもしれませんが、念のために、カスタム投稿メタから埋め込みコードを取得し、サイズを変更し、投稿に挿入するために使用するコードを次に示します。http: //loak.pastebin.com / n7pAzEAw
これは、プロジェクトの現在のステータスを反映するために元の質問を編集したもので、コメントに投稿された質問に回答します。これに賞金をかけてくれたChris_Oに感謝します。また、ThemeHybrid.comフォーラムで多くのことを手伝ってくれたRarstとJustinに感謝します。私はこれに何時間も費やしましたが、行き詰っています(この質問には数時間しかかかりません)。どんな助けも大歓迎です。