使用WPAlChemy显示多个TinyMCE编辑器时出现问题

时间:2012-09-05 作者:dcd0181

我有一个带有WPAlchemy admin meta box类的自定义帖子类型,其中包括多个带有TinyMCE编辑器的textareas(用于向自定义帖子模板添加内容)。我已经让编辑器显示和运行良好,但是在每个文本区域的左下角有一个笨拙的div,带有“path”和冒号:

如果有人知道如何删除编辑器的元信息(字数等),那就太好了但它似乎在保存时无法正常运行。

以下是我检查元素时得到的结果:

<div id="temp_options_desc-3_path_row" role="group" aria-labelledby="temp_options_desc-3_path_voice" tabindex="-1">
  <span id="temp_options_desc-3_path_voice">Path</span>
  <span>: </span><span id="temp_options_desc-3_path"></span>
</div>
还有用于显示所见即所得编辑器的textarea和TinyMCE javascript函数:

功能。php:

add_action(\'admin_print_footer_scripts\',\'admin_print_footer_scripts\',99);
function admin_print_footer_scripts()
{
    ?><script type="text/javascript">/* <![CDATA[ */
        jQuery(function($)
        {
            var i=1;
            $(\'.temp_options_desc\').each(function(e)
            {
                var id = $(this).attr(\'id\');

                if (!id)
                {
                    id = \'temp_options_desc-\' + i++;
                    $(this).attr(\'id\',id);
                }

                tinyMCE.execCommand(\'mceAddControl\', false, id);

            });
        });
    /* ]]> */</script><?php
}
WPAlchemy metabox类文本区域:

<textarea cols="20" rows="20" class="temp_options_desc" name="<?php $mb->the_name(); ?>"><?php $mb->the_value(); ?></textarea>
谢谢!

1 个回复
SO网友:Jen

处理此问题的一种更简单的方法可能是使用新的wp_editor 功能(在3.3中介绍)。功能描述中描述了主要缺点:

。。。您不能将其放入可以拖动并放置在页面其他位置的元框中。

从技术上讲,你可以,如果有人想把它拖来拖去,那就不会玩得很好。

我就是这样做的:

<?php $mb->the_field(\'example\'); 
    wp_editor(
        html_entity_decode($metabox->get_the_value()),
        $mb->get_the_name(),
        $settings = array(\'textarea_name\' => $mb->get_the_name() ) 
        );
?>
Thefunction description 列出了一系列可以更改的设置(媒体按钮、小编辑器、大小、按钮显示内容等)。

函数描述还表示ID ASLKDF JALKS JQ L中只有小写字母!!!LKJ!不,真的,我们是认真的。

函数可以很好地处理(\\-)下划线和[]括号,只是不要弄乱大写字母或(-)破折号。

结束

相关推荐

在Single.php上自定义帖子类型分页?

同样的老问题,甚至不确定它是否可能。在单个上分页。php自定义帖子类型,是否可能?这很好,直到我将永久链接改为/%postname%/然后单击上一个/下一个链接时,它只会重新加载相同的页面,<?php $temp = $wp_query; $wp_query = null; $wp_query = new WP_Query(); $wp_query->query(\'showposts=1&orderby&menu_ord