带有弹出窗口的Wordpress tinyMCE附加按钮和末尾的“0”

时间:2013-01-15 12:12:02

标签: wordpress plugins tinymce

代码的重要部分:

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'
            });

        },

wordpress 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

如何摆脱它?

1 个答案:

答案 0 :(得分: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;
}; 
?>