在WordPress的主题,我们经常自己定义按钮菜单,但有时会提示:“Uncaught ReferenceError: QTags is not defined”,这其实是代码不规范引起的。

我们可能经常这样写:

  1. <?php  
  2. add_action('admin_print_footer_scripts', 'input_password' );  
  3. function input_password() {  
  4. ?>  
  5.     <script type="text/javascript">  
  6.         QTags.addButton( 'code', 'code', '<span class="code">','</span>' );  
  7.     </script>  
  8. <?php }  

上面的写法会提示错误,“Uncaught ReferenceError: QTags is not defined”。虽然不影响什么,但站在严谨的态度上,我们应去除错误,加上这段代码”wp_enqueue_script( ‘quicktags’ );”,将其纳入quicktags队列就不会有错误提示了:

  1. <?php  
  2. wp_enqueue_script( 'quicktags' );  
  3. add_action('admin_print_footer_scripts', 'input_password' );  
  4. function input_password() {  
  5. ?>  
  6.     <script type="text/javascript">  
  7.         QTags.addButton( 'code', 'code', '<span class="code">','</span>' );  
  8.     </script>  
  9. <?php }  

其实标准写法是这样的,这样写是不会有错误产生的:

  1. <?php  
  2. function your_theme_slug_add_quicktags() {  
  3.     if (wp_script_is('quicktags')){  
  4. ?>  
  5.     <script type="text/javascript">  
  6.         QTags.addButton( 'code', 'code', '<span class="code">','</span>' );  
  7.     </script>  
  8. <?php  
  9.     }  
  10. }  
  11. add_action( 'admin_print_footer_scripts', 'your_theme_slug_add_quicktags' );  

参与评论