最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

WordPress shortcut to switch from Visual to Text mode and vice versa

programmeradmin1浏览0评论

I use a default WordPress editor TinyMCE.

Maybe it is simple, but I lack that shortcut to switch from Visual to Text mode, and the opposite from Text to Visual.

I searched in here but haven't found a clue.

This would be handy when I am at the page bottom in WordPress Editor and in a need to change the mode.

The context what am I actually doing should be ignored. Just the shortcut would be great to share.

Please, let me know if I can improve the question better, or if there is anything more I can provide.

I use a default WordPress editor TinyMCE.

Maybe it is simple, but I lack that shortcut to switch from Visual to Text mode, and the opposite from Text to Visual.

I searched in here but haven't found a clue.

This would be handy when I am at the page bottom in WordPress Editor and in a need to change the mode.

The context what am I actually doing should be ignored. Just the shortcut would be great to share.

Please, let me know if I can improve the question better, or if there is anything more I can provide.

Share Improve this question asked Nov 3, 2016 at 20:05 prostiprosti 4,3234 gold badges26 silver badges45 bronze badges
Add a comment  | 

1 Answer 1

Reset to default 2

There are no shortcuts, but you could add some by eg adding accesskeys to the editor html generated (in your theme's "functions.php"):

function mytheme_edit_form_after_title( $post ) {
    ob_start();
}
function mytheme_edit_form_after_editor( $post ) {
    echo str_replace(
        array( 'id="content-tmce"', 'id="content-html"' ),
        array( 'id="content-tmce" accesskey="V"', 'id="content-html" accesskey="E"' ), // 'T' already used for 'Insert Read More tag'. 
        ob_get_clean()
    );
}
add_action( 'edit_form_after_title', 'mytheme_edit_form_after_title' );
add_action( 'edit_form_after_editor', 'mytheme_edit_form_after_editor' );

Update: unfortunately this doesn't work on Chrome (and not very well on FF either), maybe the TinyMCE shortcut processing is interfering, so adding an explicit shortcut also seems to make it work better (append the following after the above):

add_action( 'wp_tiny_mce_init', function () {
    ?>
    <script type="text/javascript">
        function wpse245062_tiny_mce_init( ed ) {
            ed.on( 'init', function () {
                this.addShortcut( 'alt+shift+e', '', function () {
                    jQuery( '#content-html' ).click();
                    jQuery( '#content' ).focus();
                } );
            } );
        }
    </script>
    <?php
} );
add_filter( 'tiny_mce_before_init', function ( $mceInit ) {
    $mceInit['setup'] = 'wpse245062_tiny_mce_init';
    return $mceInit;
} );
发布评论

评论列表(0)

  1. 暂无评论
ok 不同模板 switch ($forum['model']) { /*case '0': include _include(APP_PATH . 'view/htm/read.htm'); break;*/ default: include _include(theme_load('read', $fid)); break; } } break; case '10': // 主题外链 / thread external link http_location(htmlspecialchars_decode(trim($thread['description']))); break; case '11': // 单页 / single page $attachlist = array(); $imagelist = array(); $thread['filelist'] = array(); $threadlist = NULL; $thread['files'] > 0 and list($attachlist, $imagelist, $thread['filelist']) = well_attach_find_by_tid($tid); $data = data_read_cache($tid); empty($data) and message(-1, lang('data_malformation')); $tidlist = $forum['threads'] ? page_find_by_fid($fid, $page, $pagesize) : NULL; if ($tidlist) { $tidarr = arrlist_values($tidlist, 'tid'); $threadlist = well_thread_find($tidarr, $pagesize); // 按之前tidlist排序 $threadlist = array2_sort_key($threadlist, $tidlist, 'tid'); } $allowpost = forum_access_user($fid, $gid, 'allowpost'); $allowupdate = forum_access_mod($fid, $gid, 'allowupdate'); $allowdelete = forum_access_mod($fid, $gid, 'allowdelete'); $access = array('allowpost' => $allowpost, 'allowupdate' => $allowupdate, 'allowdelete' => $allowdelete); $header['title'] = $thread['subject']; $header['mobile_link'] = $thread['url']; $header['keywords'] = $thread['keyword'] ? $thread['keyword'] : $thread['subject']; $header['description'] = $thread['description'] ? $thread['description'] : $thread['brief']; $_SESSION['fid'] = $fid; if ($ajax) { empty($conf['api_on']) and message(0, lang('closed')); $apilist['header'] = $header; $apilist['extra'] = $extra; $apilist['access'] = $access; $apilist['thread'] = well_thread_safe_info($thread); $apilist['thread_data'] = $data; $apilist['forum'] = $forum; $apilist['imagelist'] = $imagelist; $apilist['filelist'] = $thread['filelist']; $apilist['threadlist'] = $threadlist; message(0, $apilist); } else { include _include(theme_load('single_page', $fid)); } break; default: message(-1, lang('data_malformation')); break; } ?>