2

コードの重要な部分:

javascript tinymceplugin:

init : function(ed, url) {

            ed.addCommand('addVocabularyLinkCallout', function() {
                ed.windowManager.open({
                    file : ajaxurl + '?action=addvocabularylinkbutton_function',
                    width : 350 + parseInt(ed.getLang('mytest.delta_width', 0)),
                    height : 250 + parseInt(ed.getLang('mytest.delta_height', 0)),
                    inline : 1
                }, {
                    plugin_url : url
                });
            });
            ed.addButton('addvocabularylink', {
                title : 'Dodaj link do słowniczka',
                cmd : 'addVocabularyLinkCallout',
                image : url+'/../img/tinymce/insertpopup.png'
            });

        },

ログインユーザーのみのワードプレスajaxサポート:

add_action('wp_ajax_addvocabularylinkbutton_function', 'addvocabularylinkbutton_function_callback');
function addvocabularylinkbutton_function_callback() {?>
<!DOCTYPE html>
<head>
    <title>Create a Single Link - Button</title>

</head>
<body>
<h2>Test</h2>
</html> 
<?php }; ?>

ウィンドウ自体が何もしないことは重要ではありません。気になるのは、ポップアップウィンドウのコードの最後にある「0」です。

<!DOCTYPE html>
<head>
    <title>Create a Single Link - Button</title>

</head>
<body>
<h2>Test</h2>
</html> 
0

それを取り除く方法は?

4

1 に答える 1

2

あちこち掘り下げてみたところ、TinyMCEの問題ではなく、wp_ajaxの呼び出しの問題であることがわかりました。が必要だ:

die;

最後に。

したがって、正しいコードは次のようになります。

add_action('wp_ajax_addvocabularylinkbutton_function', 'addvocabularylinkbutton_function_callback');
function addvocabularylinkbutton_function_callback() {?>
<!DOCTYPE html>
<head>
    <title>Create a Single Link - Button</title>

</head>
<body>
<h2>Test</h2>
</html> 
<?php 
    die;
}; 
?>
于 2013-01-15T13:15:08.377 に答える