/** * Metadata plugin * @return void */ public function metaData() { global $pagenow; if (!current_user_can('edit_posts') || !current_user_can('edit_pages') || $pagenow != 'post.php') { return; } add_action('admin_footer', function () { global $post; $metakeys = \Municipio\Helper\Post::getPostMetaKeys($post->ID); echo '<script> var metadata_button = [ '; $count = 0; foreach ($metakeys as $key => $value) { echo "{text: '{$value->meta_key}', value: '[meta key=\"{$value->meta_key}\"]'},"; $count++; } echo '];</script>'; }); add_filter('mce_external_plugins', function ($plugins) { $plugins['metadata'] = get_template_directory_uri() . '/assets/dist/js/mce-metadata.js'; return $plugins; }); add_filter('mce_buttons_2', function ($buttons) { array_splice($buttons, 2, 0, array('metadata')); return $buttons; }); }