某些POST类型上的TinyMCE按钮

时间:2012-01-30 作者:Jason Bahl

我正在创建一个插件,允许用户动态创建自定义帖子类型。

在新的帖子类型中,我想在TinyMCE中显示一个customButton。

每个帖子类型都有一个唯一的描述,因此我想根据帖子类型描述添加按钮。

类似于:

 if ($post_type->description == \'Custom Description\') { 

 // Add TinyMCE Button Here

}
为了获取帖子类型描述,我找到了另一篇帖子,建议:

get_post_type_object($post);
$post_type->description;
但这对我来说似乎不太合适。

如何将TinyMCE按钮添加到具有特定帖子类型描述的帖子类型中?

1 个回复
最合适的回答,由SO网友:Jared 整理而成

这在我的一个插件中使用,效果很好,希望它能带来一些灵感:

public function efpd_run_tinymce(){
    global $typenow, $pagenow;

    if ( empty( $typenow ) && !empty( $_GET[\'post\'] ) ) {
        $post = get_post( $_GET[\'post\'] );
        $typenow = $post->post_type;
    }

    $curpage = $pagenow . \'post-new.php?post_type=\' . $typenow;

    if( \'fanpages\' == $typenow || \'post-new.php?post-type=fanpages\' == $curpage ) {

        if( !current_user_can( \'edit_posts\' ) && !current_user_can( \'edit_pages\' ) )
           return;

        if( get_user_option( \'rich_editing\' ) == \'true\' ) {

            add_filter( \'mce_external_plugins\', array( &$this, \'efpd_tinymce_plugins\' ) );
            add_filter( \'mce_buttons_3\', array( &$this, \'efpd_tinymce_buttons\' ) );

        }

    }

}
我想你可以$typenow 获取post类型对象,然后使用描述,而不是我在示例中使用的逻辑。

结束

相关推荐