是否将POST类添加到TinyMCE IFRAME?

时间:2016-08-06 作者:Lea Cohen

我想将样式添加到editor-style.css, 根据当前职位所属的类别。

因此,我想添加post类-使用get_post_class() - 到TinyMCE iframe的主体。

我看到了this question, 但这是关于通过JavaScript添加类的,我需要通过PHP来完成,这样我就可以使用get_post_class(). 我也不能使用admin_body_class 过滤器,因为它不处理TinyMCE iframe。

如何将帖子的类添加到TinyMCE iframe?

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

你要找的过滤器是tiny_mce_before_init. 使用此功能,我们可以连接到TinyMCE的“init\\u array”并添加body类:

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

function wpse_235194_tiny_mce_classes( $init_array ){

  global $post;

  if( is_a( $post, \'WP_Post\' ) ){
    $init_array[\'body_class\'] .= \' \' . join( \' \', get_post_class( \'\', $post->ID ) );
  }

  return $init_array;

}
我们用一个空格连接post类,以便按照TinyMCE的要求将它们从数组转换为字符串,并且我们还检查是否确实有一个有效的post对象,以避免在其他地方使用TinyMCE时出现错误(例如在小部件等中)。