Я создаю сайт для клиента, который хочет, чтобы заголовки сообщений выглядели следующим образом:
Фотограф:Джо Блоггс
Также «Фотограф» будет отличаться от названия шрифта.
По сути, мне нужно иметь возможность размещать теги вокруг отдельных слов в посте или заголовке страницы, чтобы я мог настроить таргетинг на них в css.
Я попытался использовать следующий фрагмент в functions.php, чтобы получить текстовый редактор вместо текстового поля заголовка, но он не работает.
function tinymce_title_js(){ ?>
<script type="text/javascript">
jQuery(document).ready( tinymce_title );
function tinymce_title() {
jQuery("#title").addClass("mceEditor");
tinyMCE.execCommand("mceAddControl", false, "title");
}
</script>
<?php }
add_action( 'admin_head-post.php', 'tinymce_title_js');
add_action( 'admin_head-post-new.php', 'tinymce_title_js');
function tinymce_title_css(){ ?>
<style type='text/css'>
#titlewrap{border:solid 1px #e5e5e5 !important;}
tr.mceLast{display:none;}
#title_ifr{height:50px !important;}
</style>
<?php }
add_action( 'admin_head-post.php', 'tinymce_title_css');
add_action( 'admin_head-post-new.php', 'tinymce_title_css');
Когда я проверяю поле ввода заголовка в WP, в нем указан правильный класс mceEditor, указанный во фрагменте, но редактора WSYIWYG там нет.
Я на самом деле пришел к этому вопросу в поисках решения, поэтому, несмотря на его старый вопрос, у вас есть мое решение.
1. Вы можете перейти в файл wp-admin / edit-form-advanced.php
2. Найдите заголовок и обновите его до
<label class="screen-reader-text" id="title-prompt-text" for="title"><?php
echo $title_placeholder; ?></label>
<?php wp_editor( $post->post_title, 'post_title', array(
'_content_editor_dfw' => $_content_editor_dfw,
'drag_drop_upload' => true,
'tabfocus_elements' => 'title-html,save-post',
'editor_height' => 20,
'media_buttons' => false,
'tinymce' => array(
'resize' => false,
'toolbar1' => 'bold,italic,strikethrough,forecolor,',
'toolbar2' => '',
'toolbar3' => '',
'toolbar4' => '',
'wp_autoresize_on' => false,
'add_unload_trigger' => false,
'wp_keep_scroll_position' => ! $is_IE,
),
) ); ?>
Я знаю, что это не gr8 для обновления основных файлов, но таким образом я нашел, что это работает для меня, так что, возможно, некоторые из вас могут найти это привлекательным …
Также вы всегда можете использовать его только для определенного post_type
Протестировано с WordPress 4.9.1
Других решений пока нет …