2017-07-18 21 views
0

私はWordpress pluginを持っています。これにより、ユーザーは箇条書きのリストに印を付け、その周りにショートコードを追加することができます。残念なことに、ユーザーが箇条書きリストを選択すると、最初のULは選択されないため、最終的には奇妙な選択肢になります。終了コードは次のようになります。恐ろしい見えますWordpress - サニタイズAROUNDショートコード

<ul> 
    <li>[checklist-box title="Hello"] 
<ul> 
    <li>xxxx</li> 
    <li>yyyy</li> 
    <li>zzz</li> 
</ul> 
[/checklist-box]</li> 
</ul> 

[checklist-box title="Hello"] 
<ul> 
    <li>xxxx</li> 
    <li>yyyy</li> 
    <li>zzz</li> 
</ul> 
[/checklist-box] 

代わりのようなものとして終わります。

は明確:

onsubmit: function(e) { 
     var selected_text = editor.selection.getContent(); 
     shortcode = '[checklist-box title="' + e.data.title + '"]' + selected_text + '[/checklist-box]'; 
     editor.execCommand('mceInsertContent', 0, shortcode); 
} 

答えて

1

あなたはこれを試すことができます:私は、これはTinyMCEの中に弾丸をラップしたコードである

    含むリスト全体をラップするために、[チェックリストボックス]ショートコードを必要としますコードは、 はその後、私は結果をお知らせ

    onsubmit: function(e) { 
            var wholeText = editor.getContent(); 
            var selected_text = editor.selection.getContent(); 
    
            shortcode = '[checklist-box title="' + e.data.title + '" extraTitle="' + e.data.extraTitle + '" extraUrl="' + e.data.extraUrl + '"]' + selected_text + '[/checklist-box]'; 
    
            var main = wholeText.replace(selected_text,shortcode); 
            editor.execCommand('mceSetContent', 0, main); 
           } 
    

    であなたをonSubmitコードを交換してください。

    +0

    申し訳ありませんが、これは何の違いもありません。同じコードが生成されます。 – checklist

    +0

    こんにちは、チェックリストあなたのプラグインのコードを自分のコードでローカルセットアップに編集しました。それは私のために働く。 –

    関連する問題