无法在模板中设置富文本编辑器内容的格式

时间:2014-12-04 作者:Mortzea

我使用以下函数在admin中添加一个新的富文本编辑器。

add_action( \'add_meta_boxes\', \'adding_new_metaabox\' );              
function adding_new_metaabox() 
{   
    add_meta_box(\'html_myid_61_section\', \'ویژگی ها\', \'my_output_function\');
}

function my_output_function( $post ) 
{
    //so, dont ned to use esc_attr in front of get_post_meta
    $valueeee2 = get_post_meta($_GET[\'post\'], \'PLUGIN_VALUE\' , true ) ;
    wp_editor( htmlspecialchars_decode($valueeee2), \'mettaabox_ID_stylee\', $settings = array(\'textarea_name\'=>\'MyInputNAME\') );
}


function save_my_postdata( $post_id ) 
{                   
    if (!empty($_POST[\'MyInputNAME\']))
    {
        $datta=htmlspecialchars($_POST[\'MyInputNAME\']);
        update_post_meta($post_id, \'PLUGIN_VALUE\', $datta );
    }
}
add_action( \'save_post\', \'save_my_postdata\' );  
我使用此代码来显示模板中的内容。

<?php echo get_post_meta($post->ID, "PLUGIN_VALUE", true);?>
但无法在帖子中显示干净的内容。看起来是这样的:

<ul><li>Can\'t</li><li>Display</li><li>good</li></ul>
我不想实际显示我想在HTML中显示内容的标记,类似于下面的示例:

无法显示良好

1 个回复
SO网友:Howdy_McGee

第一个问题问得好!尝试通过运行变量the_contnet Filter - 您可以这样使用它:

$editor_value = get_post_meta( $post->ID, "PLUGIN_VALUE", true ); 
echo apply_filters( \'the_content\', htmlspecialchars_decode( $editor_value ) );
我相信现在发生的事情是,无论何时保存Posteta,它都会被转义,并转换为特殊字符htmlspecialchars() 以便将其正确保存到数据库中。通过运行解码,它应该输出预期的HTML。

结束

相关推荐

TinyMCE.activeEditor=在‘Text’模式下加载的WP编辑器为空?

我有一个插件,它通过AJAX保存数据,并意识到它没有发出任何请求。我打开控制台看得更远,当我试图看这个物体时,我低头看了看tinyMCE.activeEditor, 它的值为null。只有当编辑器以“文本”模式加载时才会出现这种情况——如果您切换回tinyMCE或以“可视”模式加载它。activeEditor对象按其应有的方式存在。我认为这与缓存“文本”模式状态有关,而不应该是这样的,并且每个页面加载都应该真正提供“视觉”模式?如果有人以前遇到过这个问题,并且知道无需编辑core即可修复此问题,我们将不胜