Quicktags APIはボタンのみを受け入れますが、私たちがit does all sort of thingsとして、いくつかのjQueryを使ってシステムをだますことができますように見える;)
ショートドロップダウンがvar data
から構築され、その動作がajustedする必要がありますonchange
:
add_action('admin_print_footer_scripts', 'quicktags_so_42200158');
function quicktags_so_42200158() {
if (wp_script_is('quicktags')) {
wp_enqueue_script('jquery');
?>
<script>
/* Button name and callback will be replaced */
QTags.addButton('dummy_button', 'Dummy button', function(){});
jQuery(window).load(function() {
jQ = jQuery;
/* Build dropdown - http://stackoverflow.com/a/4814600 */
var data = {
'-': 'Select shortcode',
'video': 'Video',
'audio': 'Audio'
}
var s = jQ('<select />');
s.attr('id','my-shortcodes');
for(var val in data) {
jQ('<option />', {value: val, text: data[val]}).appendTo(s);
}
/* Change 'Dummy button' for dropdown */
jQ('#qt_content_dummy_button')[0].outerHTML = s[0].outerHTML;
/* What will be inserted on HTML editor */
jQ('#my-shortcodes').on('change', function(){
var sc = '[' + jQ(this).val() + ']';
QTags.insertContent(sc);
});
});
</script>
<?php
}
}
参照:A Deeper Look Into the WordPress Text Editor
大変お世話になりました!私たちは別のルートに行くことをやめましたが、将来私が参照するものは間違いありません! –