在过去的几个小时里,我陷入了一个简单的问题:
我正在开发一个网站,其中我使用了几个wp\\U编辑器实例,所有这些实例都具有自定义按钮和样式。在我的自定义帖子中,只需将参数直接添加到wp\\u编辑器中,就可以实现这一点。
我的问题在于,试图只在用于标准常规Wordpress帖子的编辑器中添加自定义按钮。这是因为我没有手动创建实例,我假设我必须使用过滤器函数。
下面是我如何在自定义帖子中的wp\\u编辑器实例中添加参数:
<?php
wp_editor(
$options[\'news_title\'],
\'news_title\',
array(
\'textarea_name\' => \'page_options_home_page[news_title]\',
\'media_buttons\' => false,
\'textarea_rows\' => 1,
\'tabindex\' => 4,
\'quicktags\' => false,
\'tinymce\' => array(
\'toolbar1\'=> \'bold,italic\',
\'toolbar2\'=> \'\',
\'toolbar3\'=> \'\',
//\'content_css\' => get_template_directory_uri() . "/build/styles/tiny-mce/page-options-mce-editor.css"
),
)
);
?>
下面是我如何将全局样式添加到wp\\U编辑器中的方法-也很简单,
BUT this approach does not work for me 因为它会影响我的所有其他实例。
function my_format_TinyMCE( $in ) {
//styles for the editor to provide better visual representation.
$in[\'content_css\'] = get_template_directory_uri() . "/build/styles/tiny-mce-editor.css";
$in[\'block_formats\'] = "Paragraph=p; Heading 1=h1; Heading 2=h2";
$in[\'toolbar1\'] = \'formatselect,bold,italic,underline,superscript,bullist,numlist,alignleft,aligncenter,alignright,link,unlink,spellchecker\';
$in[\'toolbar2\'] = \'\';
$in[\'toolbar3\'] = \'\';
$in[\'toolbar4\'] = \'\';
return $in;
}
add_filter( \'tiny_mce_before_init\', \'my_format_TinyMCE\' );
所以。。。我正试图找到一些关于如何定位特定wp\\U编辑器的方向。一般来说,我很难将参数传递给我没有手动创建的特定wp\\U编辑器(常规post编辑器、bbpress等)。我想删除这些编辑器的几个按钮实例,并将它们保留在自定义编辑器中。
有什么建议吗?
谢谢
最合适的回答,由SO网友:Howdy_McGee 整理而成
您可以使用get_current_screen()
函数获取当前用户所在的屏幕(在“管理”面板中),并仅在用户查看时添加这些全局值post
页码:
function my_format_TinyMCE( $in ) {
$screen = get_current_screen();
if( is_object( $screen ) && \'post\' == $screen->post_type ) {
//styles for the editor to provide better visual representation.
$in[\'content_css\'] = get_template_directory_uri() . "/build/styles/tiny-mce-editor.css";
$in[\'block_formats\'] = "Paragraph=p; Heading 1=h1; Heading 2=h2";
$in[\'toolbar1\'] = \'formatselect,bold,italic,underline,superscript,bullist,numlist,alignleft,aligncenter,alignright,link,unlink,spellchecker\';
$in[\'toolbar2\'] = \'\';
$in[\'toolbar3\'] = \'\';
$in[\'toolbar4\'] = \'\';
}
return $in;
}
add_filter( \'tiny_mce_before_init\', \'my_format_TinyMCE\' );