Esta no es una respuesta completa, solo una dirección de diseño. Creo que el mejor enfoque es algo como esto:
En la publicación de edición de administrador
Extraiga todos los códigos cortos de la publicación guardada y preséntelos dentro de un metabox, aparte del editor . Asegúrese de que aparezcan en el mismo orden en que aparecen los códigos cortos en el pequeño Editor.
En la API de JavaScript tinyMCE
Haga una función jQuery, cuando el usuario hace clic en un shortcode, intercambia el HTML del metabox en el editor. Y viceversa. El orden en sí debería estar bien como asociación, pero no estoy seguro de incluir códigos cortos. Sin embargo, hay muchas formas de diseñar una buena conexión ID. Las actualizaciones de códigos cortos se pueden hacer sobre la marcha con ajax.
Nunca guarde el estado del shortcode representado
Antes de cambiar de editor, guarde borradores, borradores automáticos y publique, realice una llamada API para activar la restauración, de modo que el estado del código abreviado nunca se guarde ...
Esto se puede hacer, pero debe estar familiarizado con la API tinyMCE para comprender dónde y cuándo acceder al contenido del editor, y conectarse a las acciones de JavaScript antes de 'guardar' y más.
Puede haber varios editores de tinyMCE en la misma carga de página de publicación de edición.
La parte de restauración se puede investigar observando el [gallery]
comportamiento del shortcode. Pero el clic en [MY_SHORTCODE]
debe hacerse con algunos trucos de jQuery.
en el script admin_footer, acceda al contenido de donde está activo el cursor con:
var $editor_content = $(tinymce.activeEditor.getBody());
es una pista de cómo comenzar.