2017-02-13 49 views
3

我想在WordPress頁面編輯器旁邊的添加媒體按鈕的純文本編輯器中添加短代碼下拉列表。 我已經看到很多與下拉菜單相關的問題,但它們都是專門用於tinyMce編輯器和而不是純文本編輯器短代碼下拉式WordPress - 僅文本編輯器

可視化編輯器已在我的WordPress網站上禁用,但我仍然希望用戶能夠看到所有可用的簡碼。

任何幫助將不勝感激。

回答

3

貌似Quicktags API只接受按鈕,但我們可以用一些jQuery的作爲it does all sort of things誘騙系統;)

短碼下拉從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

+0

真棒回答謝謝!我們結束了去另一條路線,但絕對是我將來會參考的東西! –