如何在评论文本区域的顶部添加一条可视化编辑器

时间:2011-05-01 作者:Tara

我的博客是WP3。1.2,主题:210

我想在评论框的顶部添加一条可视化编辑器(就像您在这个网站的问题框顶部看到的那样)。没有插件我怎么做?

我已经搜索了这个网站和WP论坛,但没有找到我可以使用的东西。

虽然WP在注释框下显示html标记,人们可以使用它来设置注释的样式。但并不是每个人都熟悉它们以及如何使用它们。因此,我想显示一条标签,方便人们使用。

请遵循简单的说明。谢谢

2 个回复
SO网友:Chip Bennett

简单的操作说明如下:

安装Comment Form Quicktags Plugin但由于某种原因,您指定要在“没有插件”的情况下执行此操作。此外,您还指定了“易于遵循的说明”。

我认为你的要求不兼容。如果您想要“易于遵循说明”,那么请使用插件。如果你不想使用插件,那么你必须弄清楚如何在这样一个插件中复制(不平凡,因此不太“容易遵循”)实现。

为什么不想使用插件?

SO网友:Rev. Voodoo

也许有人可以拿着它跑。。。。这是(我认为)来自不同地方的大部分已完成的代码。如果我记得零件是从哪里来的,我会相信。。。。

// COMMENT FIELD EXPERIMENT
// LOADS REQUIRED FILES FOR TINYMCE ON FRONTEND
function voodoo_load_scripts() {
    // scripts (and styles) for media uploads
    add_thickbox();
    $media_upload_js = "/wp-admin/js/media-upload.js";
    wp_enqueue_script( \'media-upload\', get_bloginfo(\'wpurl\') . $media_upload_js, array( \'thickbox\' ), filemtime( ABSPATH . $media_upload_js ) );

    // utils depdency for tinymce
    $utils_js = "/wp-admin/js/utils.js";
    wp_enqueue_script( \'utils\', get_bloginfo(\'wpurl\') . $utils_js, array( ), filemtime( ABSPATH . $utils_js ) );
}


function voodoo_tinymce_config($initArray) {
    $initArray[\'theme_advanced_resize_horizontal\'] = false;
    $initArray[\'theme_advanced_path\'] = false;
    return $initArray;
}

add_filter(\'tiny_mce_before_init\', \'voodoo_tinymce_config\');

// LOADS UP TINYMCE
function voodoo_load_tinymce() {
    require_once( ABSPATH . "wp-admin/includes/post.php" );
    wp_tiny_mce();
}

add_action( \'wp_head\', \'voodoo_load_tinymce\' );

//BUILDS A LIST OF ALLOWED TAGS
function voodoo_allowed_tags() {
    global $allowedposttags, $allowedtags;

    if ( ! defined( \'CUSTOM_TAGS\' ) )
        define( \'CUSTOM_TAGS\', true );

    $allowedposttags = array(
        \'strong\' => array(),
        \'em\' => array(),
        \'u\' => array(),
        \'span\' => array(
            \'align\' => array (),
            \'class\' => array (),
            \'id\'    => array (),
            \'style\' => array (),
        ),
        \'s\' => array(),
        \'p\' => array(
            \'align\' => array (),
            \'class\' => array (),
            \'id\'    => array (),
            \'style\' => array (),
        ),
        \'address\' => array(),
        \'pre\' => array(
            \'style\' => array(),
        ),
        \'h1\' => array(
            \'align\' => array (),
            \'class\' => array (),
            \'id\'    => array (),
            \'style\' => array (),
        ),
        \'h2\' => array (
            \'align\' => array (),
            \'class\' => array (),
            \'id\'    => array (),
            \'style\' => array (),
        ),
        \'h3\' => array (
            \'align\' => array (),
            \'class\' => array (),
            \'id\'    => array (),
            \'style\' => array (),
        ),
        \'h4\' => array (
            \'align\' => array (),
            \'class\' => array (),
            \'id\'    => array (),
            \'style\' => array (),
        ),
        \'h5\' => array (
            \'align\' => array (),
            \'class\' => array (),
            \'id\'    => array (),
            \'style\' => array (),
        ),
        \'h6\' => array (
            \'align\' => array (),
            \'class\' => array (),
            \'id\'    => array (),
            \'style\' => array (),
        ),
        \'ul\' => array(),
        \'ol\' => array(),
        \'li\' => array(),
        \'blockquote\' => array(
            \'id\' => array (),
            \'cite\' => array (),
            \'class\' => array(),
        ),
        \'a\' => array(
            \'href\' => array(),
            \'title\' => array(),
            \'name\' => array(),
            \'target\' => array(),
        ),
        \'img\' => array(
            \'class\' => array(),
            \'style\' => array(),
            \'src\' => array(),
            \'alt\' => array(),
            \'width\' => array(),
            \'height\' => array(),
        ),
        \'sup\' => array(),
        \'sub\' => array(),
        \'br\' => array (
            \'class\' => array()
        )
    );

    $allowedtags = array(
        \'strong\' => array(),
        \'em\' => array(),
        \'u\' => array(),
        \'span\' => array(
            \'align\' => array (),
            \'class\' => array (),
            \'id\'    => array (),
            \'style\' => array (),
        ),
        \'s\' => array(),
        \'p\' => array(
            \'align\' => array (),
            \'class\' => array (),
            \'id\'    => array (),
            \'style\' => array (),
        ),
        \'address\' => array(),
        \'pre\' => array(
            \'style\' => array(),
        ),
        \'h1\' => array(
            \'align\' => array (),
            \'class\' => array (),
            \'id\'    => array (),
            \'style\' => array (),
        ),
        \'h2\' => array (
            \'align\' => array (),
            \'class\' => array (),
            \'id\'    => array (),
            \'style\' => array (),
        ),
        \'h3\' => array (
            \'align\' => array (),
            \'class\' => array (),
            \'id\'    => array (),
            \'style\' => array (),
        ),
        \'h4\' => array (
            \'align\' => array (),
            \'class\' => array (),
            \'id\'    => array (),
            \'style\' => array (),
        ),
        \'h5\' => array (
            \'align\' => array (),
            \'class\' => array (),
            \'id\'    => array (),
            \'style\' => array (),
        ),
        \'h6\' => array (
            \'align\' => array (),
            \'class\' => array (),
            \'id\'    => array (),
            \'style\' => array (),
        ),
        \'ul\' => array(),
        \'ol\' => array(),
        \'li\' => array(),
        \'blockquote\' => array(
            \'id\' => array (),
            \'cite\' => array (),
            \'class\' => array(),
        ),
        \'a\' => array(
            \'href\' => array(),
            \'title\' => array(),
            \'name\' => array(),
            \'target\' => array(),
        ),
        \'img\' => array(
            \'class\' => array(),
            \'style\' => array(),
            \'src\' => array(),
            \'alt\' => array(),
            \'width\' => array(),
            \'height\' => array(),
        ),
        \'sup\' => array(),
        \'sub\' => array(),
        \'br\' => array (
            \'class\' => array()
        )
    );
}

add_action( \'init\', \'voodoo_load_scripts\' );
add_action( \'init\', \'voodoo_allowed_tags\' );

//PUT IT IN OUR FORM

add_filter( \'comment_form_defaults\', \'voodoo_comment_form_defaults\' );

function voodoo_comment_form_defaults( $defaults ) {

    $defaults[\'comment_field\'] = \'<p class="comment-form-comment"><label for="comment">\' . _x( \'Comment\', \'twentyten\' ) . \'</label><textarea class="theEditor" id="comment" name="comment" cols="45" rows="8" aria-required="true"></textarea></p>\';

    return $defaults;
}
这就是它的作用。我们为tinymce装上了所有需要的垃圾。但是tinymce允许使用html标记,而WP不允许从前端使用html标记。因此,我们需要考虑em。然后在底部,我们需要将theEditor类添加到注释表单中。因为我在我的主题中使用了commentform,所以我可以使用它。如果没有,可以将该类直接添加到textarea。

这会将编辑器添加到注释表单中。但工作还没有完成。它看起来像垃圾,我对它感到厌倦了。也许有人可以把它弄得好看,我不知道这是不是css冲突或什么。

此外,我们允许的所有html标记现在都列在“允许的标记”部分的注释表单下。也许最好完全隐藏它们,如果你让tinymce工作起来,那么这些信息就不需要了。

它仍然需要工作,并且只在登录时按原样工作。。。。。因此,如果你能找到一个插件,我想这可能是最好的选择

结束

相关推荐

由于自定义Comments.php文件,无法连接评论

嘿,我试着使用wordpress的线程评论功能,但由于自定义主题,所以没有成功。我尝试了wp线程评论插件,它的工作方式很有魅力,但不幸的是,它与FV社区新闻插件有冲突,它在社区新闻区域/小部件上显示了一个回复按钮。所以我试着手动操作。。。没有运气。谁能给我提个建议或者告诉我什么地方我可以得到一些数据来解决这个问题吗。我的wordpress版本是3.0.4cheers当前注释。php<?php // Do not delete these lines if (!empty($_SERV