ショートケーキ(ショートコードUI)
貢献者: FusionEngineering、Mattheu、Danielbachhuber、Zebulonj、GoldenApples、Jitendraharpalani、Sanchothefat、Bfintal、Davisshaver、Garyj、Mte90、Fredserva、Khromov、Bronsonquick、Dashaluna、Mehigh、sc0ttkclark、kttktkclark、
タグ:ショートコード
少なくとも4.5が必要です
テスト: 5.0.3
安定したタグ: 0.7.4
ライセンス: GPLV2以降
ライセンスURI: http://www.gnu.org/licenses/gpl-2.0.html
ショートケーキは、WordPressショートコードを使用してケーキを使用します。
説明
add_shortcode
と並んで使用されるショートケーキは、ショートコードを投稿に追加し、コンテンツエディター内から表示および編集するためのユーザーフレンドリーなインターフェイスを提供します。
プラグインをインストールしたら、ショートコードにUIを登録する必要があります。インスピレーションについては、野生のショートケーキの例をご覧ください。
バグまたは機能のリクエストを報告するには、GitHubの問題を使用してください。
インストール
ショートケーキは、他のWordPressプラグインと同様にインストールできます。
そうしたら、コードのUIを登録する必要があります。
0.4.0の新機能は、JavaScript関数をイベント属性の更新に添付する機能です。アクションフックを使用して、別の値に基づいてフィールドを動的に表示または非表示にするか、カスタム検証ルールを実装できます。
よくある質問
任意のキー/バリューペアにUIをショートコード属性として登録するにはどうすればよいですか?
ショートケーキは、カスタムキー=>バリューペアは、優れたユーザーエクスペリエンスではないため、ショートコード属性としてサポートしていません。
ショートケーキ0.7.xにアップグレードした後、ショートコードUIフィールド(投稿、ユーザー選択など)の一部は、予想どおりに機能しません。私に何ができる?
バージョン0.7.0では、これらのフィールドタイプの拡張された選択フィールドを提供するSelect2ライブラリの最新のブランチに更新しました。これにより、select2の古いバージョンをエンキューするプラグインとの既知の競合が発生します。 (既知の競合を備えた一般的なプラグインには、WooCommerceやAdvanced Custom Fields Proなどが含まれます。)
これらのプラグインとの競合が発生していることがわかった場合は、WP-config.phpの定数SELECT2_NOCONFLICT
フラグを設定できます。
define( 'SELECT2_NOCONFLICT', true );
実行中のテスト
PHPUnitを使用したPHPのテストカバレッジと、Jasmineを使用したJavaScriptがあります。
ローカルでテストを実行します
ジャスミンテストは、 grunt jasmine
を使用して実行でき、 grunt scripts
タスクの一部としても実行できます。 Jasmine Test Suiteが使用するコアWordPressファイルを更新するには、 grunt updateJasmineCoreScripts --abspath="/path/to/wordpress-install"
を実行します。
スクリーンショット
1.ショートケーキがなければ、ショートコードには最小限のUIがあります。
2。しかし、ショートケーキを使用すると、TinymceはショートコードをTinymceビューでレンダリングします。
3。そして、ユーザーフレンドリーなUIを追加して、ショートコードのコンテンツと属性を編集します。
4.「メディアの追加」を介して、投稿に新しいショートコードを追加します。
アップグレード通知
0.4.0
placeholder
属性引数の互換性シムを削除しました。 meta
引数を使用して、フィールドのプレースホルダーを登録する必要があります。
0.3.0
魔法のcontent
属性の互換性シムを削除しました。これを使用して内部コンテンツの編集をサポートしている場合は、 inner_content
使用するためにUI登録を変更する必要があります。
Changelog
0.7.4(2019年1月16日)
- ブロックエディターの互換性:ドキュメントヘッドの前にテンプレートが出力されないようにします。これにより、ブラウザがQuirksmodeに強制され、ブロックエディターのCSSスタイルが破損しました。
- バグ修正:上記のバグフィックス。
- バグの修正:挿入ポスト要素モーダルが空白になるJavaScriptエラーを修正します。ショートコードには、目に見えるオプションとデフォルトセットがない選択フィールドが含まれている場合。
- バグの修正:メディアコントローラーの「ファイルを選択」ボタンが挿入された後、反応しなくなったバグを修正します。
- 拡張機能:オプションの「クリア」フィールド属性を追加して、select2フィールド(ポスト、ユーザー、または用語選択)に渡すように、マルチ選択フィールドを1回クリックしてクリアできるようにします。 (このオプションはデフォルトでオフになり、既存のフィールドに影響しないはずです。)
0.7.3(2017年9月5日)
- セキュリティ:AJAXレンダリングショートコードコールバックでNonCE検証を使用して、CSRFから保護します。
- バグ修正:同じJSがすべてのフィールドタイプに火がついていることを確認してください。
- バグ修正:複数の選択フィールドに影響するバグを修正します(設定したら値を設定できず、複数のデフォルト値を設定できませんでした)。
- バグ修正:2%の文字を含むエンコードされたフィールドが壊れるのを防ぎます。
- バグ修正:ショートコードが保存せずに閉じた場合、メディアモーダル状態が適切にリセットされなかった問題を修正します。
- バグ修正:ページに複数のwp_editorインスタンスがある場合、編集中のショートコードが正しいページに送信されることを確認します。
- 拡張:POST_SELECTフィールドが複数のポストタイプから選択している場合は、[投稿名と並んでPOSTタイプを表示して、選択を容易にします。
- 強化:画像だけでなく、添付ファイルタイプのアタッチメントサムネイルを表示します。
- 拡張:ショートケーキUIを備えたショートコードが登録されていない場合、より役立つエラーメッセージを追加します。
- ノルウェーの翻訳を更新します
0.7.2(2017年4月24日)
- バグの修正:WordPress 4.7.4で動作を修正すると、ショートコードの編集により、編集されるショートコードを更新するのではなく、新しいショートコードがエディターに挿入されます。
- バグ修正:属性のパーセント(%)文字を逃れるために使用される交換は、最初の外観のみを置き換えました
- バグ修正:倍数= trueの選択フィールドの場合、デフォルトで複数のオプションを選択することを許可します
- アタッチメントフィールドテンプレートのすべての文字列にI18Nを追加しました
- フィンランドの翻訳を追加しました
0.7.1(2017年3月16日)
- ショートコードのフォーマットを変更して、セルフクロージングトレーリングスラッシュの前にスペースを追加します。
- 長いファイル名で添付ファイルのプレビューを修正します。
- バグ修正:選択フィールドに初期値を設定します(以前は、ユーザーがフィールドと対話しない限り、選択フィールドに値が設定されません)。
- 拡張/修正:Modalにアクセスするたびに重複するマークアップを作成するのではなく、メディアモーダルの1つのコピーを再利用し、閉鎖時に状態をリセットします。
- 互換性:select2.js 4.0.3の「フル」バージョンを使用して、フルバージョンがエンキューになると予想される他のプラグインとのプラグインの競合を防ぎます。
- 互換性:
SELECT2_NOCONFLICT
フラグを追加して、select2を一意の名前空間にロードして、select2.jsバージョン3をロードしている他のプラグインとの競合を防ぎます。 - ノルウェーの翻訳を追加しました。
- 複数のコーディングスタイルの修正。
0.7.0(2016年11月18日)
- 「メディアボタンの追加」ボタンをクリックして[メディアの追加]ボタンをクリックして、メニューの[投稿要素を挿入]を見つけるのではなく、「要素の追加」ボタンを追加します。
- 「Term Select」フィールドタイプを追加しました。
- 「ユーザー選択」フィールドタイプが追加されました。
- レンダリング/編集/ショートコードの閉鎖で発火する新しいフックを追加しました。これは、カスタムJavaScriptの初期化またはクリーンアップを必要とするフィールドタイプに使用できます。
- [フィールド]の選択:複数の選択フィールドの完全なサポートを追加します。
- フィールドを選択します。オプションのカスタム注文をサポートします。
- [フィールド:ネストされた配列としてそれらを渡すことにより、
<optgroup>
sでグループ化オプションをサポートします。 - アタッチメントフィールド:複数の選択をサポートします。
- 添付フィールド:SVG画像をサポートします(SVGアップロードがプラグインまたはテーマによって有効になっている場合)。
- バグ修正:
encode=true
指定を使用してフィールドを解読するときのパーセントサインを処理します。 - バグ修正:エディターのショートコードを2回クリックすると、編集ショートコードモーダルを表示する場合の問題を修正します。
- バグ修正:問題を修正名前でショートコードを検索するときは、複数のショートコードが検索文字列から始まる場合、最初のショートコードのみが返されます。
- バグ修正:空でない場合は、属性に説明フィールドのみを出力します。
- 互換性:WP 4.1および4.2でメディアモーダルを処理するためにシムを削除します。
- 互換性:Select2ライブラリを4.0.3にアップグレードして、Select2の最新バージョンを使用する他のプラグインとの競合を回避します。
- トルコの翻訳を追加しました。
- フィンランドの翻訳を追加しました。
- スウェーデンの翻訳を追加しました。
- ハンガリーの翻訳を追加しました。
0.6.2(2015年11月12日)
- バグ修正:ラジオボタンとチェックボックスで「変更」イベントを聴いて、ショートコード属性が更新されるようにします。
- バグ修正:get_shortcodes()を呼び出す前に、
register_shortcode_ui
が常に実行されるようにします。 register_shortcode_ui
フックを使用するときに、Ajaxコールバックを選択する修正を修正します。
0.6.1(2015年11月9日)
- メディアフレームメニュー項目をクリックするときに、JavaScript TypeErrorを修正します。
- readmeのリンクを修正します。
0.6.0(2015年11月2日)
- 限られたHTMLサポートを可能にするために、オプションの
encode=true
引数をサポートします。適切にデコードするには、属性をshortcode_atts()
を介して実行する必要があります。 - ショートコードプレビューをレンダリングするときに
SHORTCODE_UI_DOING_PREVIEW
定数を定義します。これにより、コールバックはTinymceのショートコードの異なる表現を提供できます。 - ショートコード属性の添付ファイルが既に選択されている場合、オープニングメディアライブラリには選択されたものが含まれます。
- INSERT POST要素UIでアイコン垂直アライメントをクリーンアップしました。
- すべてのフィールドHTMLにCSSユーティリティクラスを追加しました。たとえば、アタッチメントフィールドは
shortcode-ui-field-attachment
で包まれています。 - 登録時にショートコードUI引数を変更するためのフィルターが追加されました。
- サンプルプラグインをクリーンアップしたため、はるかに便利な開発者リファレンスです。
- 個別の正規表現を維持するのではなく、ショートコードを解析するためにCoreのJavaScript Regexを使用します。
- フィールドラベルと説明でHTMLを許可します。
- デンマークの翻訳を追加しました。
- イタリア語の翻訳を追加しました。
- ドイツ語翻訳を追加しました。
- コア統合:PHP 5.2を完全にサポートします。
- バグ修正:UIが登録されていない場合は、ショートコード属性と内部コンテンツを持続します。以前は、廃棄されていました。
- バグ修正:Post Selectフィールドに説明を表示します。
- バグ修正:属性フィールド変更イベントは、
keyup
ではなくinput
イベントにバインドします。 - フルリリースノート
0.5.0(2015年8月26日)
- アタッチメントフィールド:サムネイルをクリックすることで、アタッチメントを簡単に変更しやすくしました。フィールドビューにアタッチメントメタデータを追加しました。
- 添付フィールド:イベントをトリガーするためにJavaScriptを取り付けました。
-
range
入力タイプを追加しました。 - プラグイン用の
register_shortcode_ui
フックを導入して、UIをより安全に登録しました。 - プレビュータブを削除して、ショートケーキのユーザーエクスペリエンスをCoreに近づけます。このタブでは、メディアモーダルの個別のプレビューよりもインラインビジュアルプレビューが推奨されます。
- Jshintを使用してJavaScriptをクリーンアップしました。
- ロシアの翻訳を追加しました。
- ポルトガル語の翻訳を追加しました。
- すべてのクラスにphpdocを追加しました。
- バグの修正:UIが定義されていない場合でも、ショートコードの
inner_content
を持続します。 - バグ修正:ショートケーキビューでESCを打つとモーダルが閉じます。 (コアで修正)
- バグの修正:視覚エディターでショートケーキのプレビューが選択されているときに削除を押すと、ショートコードが削除されるようになりました。 (コアで修正)
- バグ修正:ショートケーキの「検索」機能は、小さな画面サイズのショートコードグリッドと視覚的に競合することはなくなりました。 (コアで修正)
- バグ修正:
get_current_screen()->post_type
の代わりにget_post_type()
を使用して、コンテキストがフロントエンドで適切に設定されます。 - フルリリースノート
0.4.0(2015年6月22日)
- 基本的なAPIにCarldanley/WP-JS-Hooksを使用して、ショートコード属性にJSコールバックを登録します。
- アタッチメントフィールドは、添付ファイルのプレビューが読み込まれているときにロードインジケーターを使用します。
- 中国語翻訳を追加しました。
- フランス語翻訳を追加しました。
- スペイン語の翻訳を追加しました。
- バグ修正:エディターがフロントエンドのコンテキストでロードされた場合、致命的なものを防ぎます。
- バグ修正:カラーフィールドは
meta
引数もサポートしています。 - バグ修正:属性なしでショートコードから末尾の空白を削除します。
- バグ修正:エディターCSSパスでダブルスラッシュを削除します。
- フルリリースノート
0.3.0(2015年4月27日)
- 壊れた変更:魔法の
content
属性の互換性シムを削除しました。これを使用して内部コンテンツの編集をサポートしている場合は、 inner_content
使用するためにUI登録を変更する必要があります。 - 投稿のリストから選択するための新しい
post_select
フィールドタイプ。追加のquery
パラメーターをサポートして、検索クエリを変更します。 - 新しい
post_type
引数を使用して、ショートコードUIを特定のPOSTタイプに登録できます。これは、特定のショートコードのUIが特定の投稿タイプにのみ表示される場合に役立ちます。 - 各ショートコード属性について、
meta
引数を指定して、フィールドに任意のHTML属性を追加できます。既存のplaceholder
引数に互換性シムを追加しました。この互換性シムは、v0.4で削除されます。 - ショートコードを挿入するとき、UIは、ショートコードに構成する属性がない場合に有用なメッセージを表示します。以前は、ユーザーには比較的空白の画面が表示されていました。
- プラグインの例は、WordPress管理者を介してアクティブにすることができます。
- 左メニューの[投稿要素を挿入]をクリックすると、ショートコードを選択するバックボタンとして効果的に機能します。
- 編集体験に関する言語は、編集しているショートコードを反映しています。たとえば、Pullquoteショートコードを使用すると、「編集投稿要素」が「Pullquote」になります。
- オランダ語の翻訳を追加しました。
- ソースJavaScriptファイルは、ソースと構築されたJavaScriptの間で明確にするために
js/src
に移動しました。 - PHPファイルは、php_codesnifferを使用してスキャンされます。
- バグ修正:引用されていないショートコード属性が適切にサポートされています。
- バグ修正:添付ファイルフィールドは、依存関係を適切に登録します。
- バグ修正:「挿入要素の挿入」エクスペリエンスは、ビジュアルエディターが無効になっているときに機能するはずです。ショートケーキは、Tinymceとゆるく結合するだけです。
- バグの修正:エディターのスタイルは、致命的なことを防ぐために
after_setup_theme
にロードされます。 - フルリリースノート。
0.2.3(2015年4月8日)
- TINYMCEビューの互換性シムに渡された引数を復元することにより、WP 4.1後方互換性の問題を修正します。
0.2.2(2015年4月6日)
- WP 4.2の互換性のTinymceビューレンダリングに渡された更新引数。以前に合格した引数は必要ありませんでしたので、削除することは逆方向の互換性を壊しません。
0.2.1(2015年3月18日)
- jqueryの使用を確実にwpでjquery.noconflict()モードを尊重します。
0.2.0(2015年3月18日)
- JSは、browserifyを使用して抽象化しました。
- 「Post Elementの追加」UI:ショートコードがアルファベット順にソートされるための拡張。ラベルに基づいて検索します。
- IFRAMEを含むショートコードのプレビューを選択するのははるかに簡単です。
- WordPress 4.2互換性。
- 潜在的なフィールドのリストにカラーピッカーを追加しました。
- バグ修正:IE11互換性。
- バグ修正:チェックボックスフィールドがチェックされないようになりました。
- フルリリースノート。
0.1.0(2014年12月23日)
- フォームフィールドのすべてのHTML5入力タイプをサポートします。
- 編集体験内のショートコードプレビュータブ。 }*「コンテンツ項目」よりも説明的な「要素のポスト」の周りにUIを再ラベル付けしました。
- 多くのバグ修正。
- フルリリースノート。