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
Borre todos los códigos cortos de la publicación guardada y reprodúzcalos 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 de tinyMCE
Haga una función jQuery, cuando el usuario haga clic en un shortcode, intercambiará el HTML del metabox al 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 de ID. Las actualizaciones de los códigos cortos se pueden hacer sobre la marcha con ajax.
Nunca guardar el estado del shortcode renderizado
Antes de cambiar de editor, guarde borradores, autorretratos y publique, realice una llamada a la API para activar la restauración, de modo que el estado del código abreviado renderizado nunca se guarde ...
Esto se puede hacer, pero debe estar familiarizado con la API tinyMCE para entender 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 tinyMCE en la misma publicación de publicación de la página.
La parte de restauración se puede investigar observando el [gallery]
beacode Beaviour. Pero el clic en [MY_SHORTCODE]
debe hacerse mediante algunos trucos de jQuery.
en la secuencia de comandos admin_footer, acceda al contenido donde el cursor está activo con:
var $editor_content = $(tinymce.activeEditor.getBody());
es un indicio de cómo empezar.