第一次提交时WP-EDITOR为空

时间:2014-02-18 作者:David

我在一个简单的插件中使用wp编辑器,但我遇到了一个问题,第一次点击提交按钮时,数据库中的内容是空白的。

<?php 
$editor_id = \'mycontent\';       
wp_editor($content, $editor_id );               
?>
因此,我尝试使用以下内容提醒内容:

if (j(".wp-content-wrap").hasClass("tmce-active")){
   alert( tinyMCE.activeEditor.getContent());
}else{
   alert( j(\'#mycontent\').val());
}
而第一次提交结果是空的。如果我在提交之前切换到文本版本,它就会起作用。

我在这里做错了什么,阻止了提交工作?

编辑:有趣的是,如果我这样做:

wp_editor(\'test\', $editor_id );
它起作用了。如果我这样做:

wp_editor(\'\', $editor_id );
它不再工作了。

如果$content 最初是否为空?

3 个回复
最合适的回答,由SO网友:Rudolf Fiedler 整理而成

我也有同样的问题。wp\\U编辑器的内容提交在第一次提交时不起作用,但在第二次提交时效果很好。另一种方法:单击html按钮,然后单击“Vusual”按钮。我使用jquery代码中的jquery语句提交表单:

$("#post_content-tmce").click();
$("#post_content-html").click();
美元前的这两行。post语句使编辑器的内容可见,并提交作品。

SO网友:Edris

在wp\\u编辑器中调试同一问题时,我发现这个问题与tinyMCE有关,如果我们尝试使用ajax调用提交表单,tinyMCE的文本字段不会更新。

解决这个问题的方法是打电话window.tinyMCE.triggerSave() 在执行ajax之前,请调用以下内容:

window.tinyMCE.triggerSave();

$.ajax({
    //your ajax call
});

SO网友:David

好吧,我想出来了。从我发现的情况来看,我不能简单地用javascript提取数据,我需要将其作为表单提交。哼!

我试图通过jquery从wp编辑器中提取内容,但简单地通过表单提取内容效果更好。

    function post_product(){
    if(isset($_POST[\'plug_post_type\']) && \'newPost\' == $_POST[\'plug_post_type\']){
        $prod_details = array( 

        \'title\'     => sanitize_text_field($_POST[\'post_title\']),
        \'content\'   => $_POST[\'content\'],


    );  

    }   
}   
add_action( \'init\', \'post_product\' );

结束

相关推荐