我剛剛進入WordPress的插件開發。現在我有一個函數,我將其作爲過濾器傳遞給具有特定變量的'tiny_mce_before_init',以更改按鈕,添加自定義樣式和其他類似的東西。Wordpress tinyMCE自定義插件
我正在建立一個選項頁面,我想控制傳遞給tinyMCE函數的變量,這樣用戶可以選擇要顯示的按鈕以及將自定義樣式表添加到編輯器。
此時,我編輯微型mce的函數效果很好!選項頁面也保存數據,複選框和其他我需要的東西。
我唯一的問題是我不理解如何將存儲在「options.php」中的變量傳遞給當前的tinyMCE函數。這是我的functions.php文件中的當前功能:
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');
我不想加入我的選項頁面中的所有代碼進行卷積的帖子,但我可能需要就如何在傳遞方式的一些方向變量作爲$ in []中的值。如前所述,變量將在選項頁面中創建並保存,更新微小的mce函數。
我研究了很多,我找不到任何關於此的直接信息 - 像往常一樣,我不是在尋找某人來執行我的代碼,而是可能會將我推向正確的方向。
謝謝!
編輯新建CODE
add_action('admin_menu', 'my_cool_plugin_create_menu');
function my_cool_plugin_create_menu() {
add_menu_page('My Cool Plugin Settings', 'Cool Settings', 'administrator', __FILE__, 'my_cool_plugin_settings_page' , plugins_url('/images/icon.png', __FILE__));
add_action('admin_init', 'register_my_cool_plugin_settings');
}
function register_my_cool_plugin_settings() {
//register our settings
register_setting('my-cool-plugin-settings-group', 'new_option_name');
}
function my_cool_plugin_settings_page() {
?>
<div class="wrap">
<h2>Your Plugin Name</h2>
<form method="post" action="options.php">
<?php settings_fields('my-cool-plugin-settings-group'); ?>
<?php do_settings_sections('my-cool-plugin-settings-group'); ?>
<table class="form-table">
<tr valign="top">
<th scope="row">New Option Name</th>
<td><input type="text" name="new_option_name" value="<?php echo esc_attr(get_option('new_option_name')); ?>" /></td>
</tr>
<?php submit_button(); ?>
</form>
</div>
<?php }
function my_format_TinyMCE($in) {
$toolbar = get_option('new_option_name');
//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'] = $toolbar;
$in['toolbar2'] = '';
$in['toolbar3'] = '';
$in['toolbar4'] = '';
return $in;
}
add_filter('tiny_mce_before_init', 'my_format_TinyMCE');
?>
我仍然無法正常訪問存儲的變量和函數中使用它們。有任何想法嗎?
將它們保存到選項表中,在過濾器中檢索它們。 –
謝謝你的快速回答!你能詳細說明一下細節嗎?我應該使用apply_filter()嗎?謝謝 ! – mmarquez