我正在创建一个插件,允许用户动态创建自定义帖子类型。
在新的帖子类型中,我想在TinyMCE中显示一个customButton。
每个帖子类型都有一个唯一的描述,因此我想根据帖子类型描述添加按钮。
类似于:
if ($post_type->description == \'Custom Description\') {
// Add TinyMCE Button Here
}
为了获取帖子类型描述,我找到了另一篇帖子,建议:
get_post_type_object($post);
$post_type->description;
但这对我来说似乎不太合适。
如何将TinyMCE按钮添加到具有特定帖子类型描述的帖子类型中?
最合适的回答,由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类型对象,然后使用描述,而不是我在示例中使用的逻辑。