Я просто занимаюсь разработкой плагинов в Wordpress. Прямо сейчас у меня есть функция, которую я передаю как фильтр в «tiny_mce_before_init» с определенными переменными, чтобы менять кнопки, добавлять пользовательские стили и другие подобные вещи.Wordpress tinyMCE Custom Plugin
Я нахожусь в процессе создания страницы параметров, которую я хотел бы контролировать переменными, переданными функции 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.
Я много исследовал, и я не могу найти прямой информации об этом - как обычно, я не ищу, чтобы кто-то выполнял мой код, но, возможно, чтобы подтолкнуть меня в правильном направлении.
Спасибо!
РЕДАКТИРОВАНИЕ НОВЫЙ КОД
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