ワードプレスのテーマにシンプルなラッパー ショートコードを作成しました。
and を使用ed.onBeforeSetContent
しed.onPostProcess
て前後に切り替えています
[wrap vars="whatever"]my cool content[/wrap]
テキストビューのショートコード
<div class="wrap">my cool content</div>
ビジュアル ビューのhtml
これは、このコードでうまく機能します。
_get_wrap : function(co) {
return co.content.replace(/\<div(.*?)?\>(?:(.+?)?\<\/div\>)?/g, function(a,b,c) {
var arr = b.replace(/['"]/g,'').split(' ');
var params = new Object();
for (var i=0;i<arr.length;i++){
var p = arr[i].split('=');
params[p[0]] = p[1];
}
if ( params['class'] == "wrap" )
return '[wrap'+b+']'+c+'[/wrap]';
return a;
});
}
残念ながら、開始ショートコードと終了ショートコードの間のコンテンツ内にreturn
orがある場合、失敗しますnew line
c
改行がある場合、上記のコードでコンテンツをそのまま維持するにはどうすればよいですか?