是否将ADD_EDITOR_STYLE定义为特定帖子类型?

时间:2012-07-24 作者:Joshc

我想知道是否可以为特定的帖子类型定义add\\u editor\\u样式?

目前我正在使用此功能。。

// EDITOR STYLE
add_editor_style(\'editor-style.css\');
但我想有多种编辑风格的各种职位类型。

所以我猜可能是这样的。。。

if ( ... ) {

// EDITOR STYLE POSTS & PAGES
add_editor_style(\'editor-style.css\');

} else if ( ... ) {

// EDITOR STYLE CUSTOM POST-TYPE BOOKS
add_editor_style(\'editor-style-books.css\');

}
我的帖子类型是page, post, book


有什么想法就好了谢谢

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

第一个问题是add_editor_style() 通常在连接到的主题设置函数中调用after_setup_theme - 早在设置查询和确定职位类型之前。所以,你需要搬家add_editor_style() 到一个单独的回调,该回调在设置查询之后调用,但在初始化TinyMCE之前调用。可能tiny_mce_before_init?

<?php
function wpse59547_add_editor_style() {
    global $post;
    $post_type = get_post_type( $post->ID );
    $editor_style = \'editor-style-\' . $post_type . \'.css\';
    add_editor_style( $editor_style );
}
add_action( \'tiny_mce_before_init\', \'wpse59547_add_editor_style\' );
然后,您只需要创建editor-style-post.css, editor-style-book.css, 等

如果要默认为editor-style.css, 使用get_post_types( array( \'public\' => true, \'_builtin\' => false ) ) 要返回自定义帖子类型的数组,并使用它,例如:

$custom_post_types = get_post_types( array( \'public\' => true, \'_builtin\' => false ) );
$editor_style = ( in_array( $post_type, $custom_post_types ) ? \'editor-style-\' . $post_type . \'.css\' : \'editor-style.css\' );

结束

相关推荐

Grouping post-types in loop

当用户从下拉列表中选择特定类别时,将显示多个帖子类型的列表。我想用标题中的帖子类型标题分组显示数据。我不确定如何划分为岗位类型组。我花了一点时间寻找,但没有找到我真正需要的东西。我还试图添加<?php $post_type = get_post_type( $post->ID ); echo $post_type; ?> 但这只是重复(显然)。调用循环<div id=\"content\" role=\"main\" style=\"float:right; width:765px