динамически генерирующий синтаксис плагина

Я загрузил плагин для аудио-плеера для WP. синтаксис очень прост. Вы просто добавляете строку [audio:my_file.mp3] в свой редактор сообщений / выдержку и вызываете ее в цикле с помощью the_content() или the_excerpt() соответственно.

Я хотел бы создать метабокс, в который пользователь будет загружать файл, и синтаксис плагина будет автоматически сгенерирован соответствующим образом. Я знаю, как вставлять метаданные в БД, но потянув его с помощью get_post_meta() или the_meta() получает только синтаксис, не заменяя его нужным содержимым плагина (т. the_meta() Аудиоплеер).

Я думал о динамическом вводе синтаксиса в редактор / выдержку с использованием фильтра default_content но этот фильтр применим только к обычным сообщениям, тогда как мой – это пользовательский тип сообщения (аудио). ваши идеи приветствуются.

Похоже, что пользовательская кнопка TinyMCE станет идеальным кандидатом на эту работу.

WordPress имеет отличную запись в кодексе о том, как ее создать ; вы по существу добавили бы кнопку на панель инструментов TinyMCE со своим обратным вызовом, что могло бы вызвать модальное всплывающее окно, чтобы выбрать аудиофайл и вставить короткий код автоматически.

Точно так же вы можете подключиться к выводам элементов мультимедиа после их загрузки и отобразить ссылку, которая будет вводить короткий код для этого элемента в сообщение (если он загружен во всплывающем окне Thickbox) – сродни тому, как работают эскизы ,

Проверьте get_media_item() и get_attachment_fields_to_edit() в wp-admin/includes/media.php для доступных крючков и фильтров.