[wp-trac] [WordPress Trac] #51325: Add a filter for script/style tags injected by wp_add_inline_{script|style}
    WordPress Trac 
    noreply at wordpress.org
       
    Tue Feb  9 20:11:11 UTC 2021
    
    
  
#51325: Add a filter for script/style tags injected by wp_add_inline_{script|style}
---------------------------+------------------------------
 Reporter:  pjohanneson    |       Owner:  (none)
     Type:  enhancement    |      Status:  new
 Priority:  normal         |   Milestone:  Awaiting Review
Component:  Script Loader  |     Version:
 Severity:  normal         |  Resolution:
 Keywords:                 |     Focuses:
---------------------------+------------------------------
Comment (by GeekPress):
 Hi there 🤚
 I've added a patch to add 3 new hooks:
 - `inline_script_before_loader_tag`
 - `inline_script_after_loader_tag`
 - `inline_style_loader_tag`
 I have voluntarily added the hooks before to be printed into the `do_item`
 functions.
 Why?
 We would be able to make some updates on the script/style tag AND the
 content.
 Here some usages of the hooks:
 **1. Add a custom attribute on the inline script tag**
 {{{
 function do_not_optimize_jquery_inline_scripts( $before_handle_tag,
 $handle ) {
         if ( 'jquery-core' === $handle ) {
                 $before_handle_tag = str_replace( '<script', '<script
 data-no-optimize="1"', $before_handle_tag );
         }
         return $before_handle_tag;
 }
 add_filter( 'inline_script_before_loader_tag',
 'do_not_optimize_jquery_inline_scripts', 10, 2 );
 }}}
 **2- Wrap the content of the inline scripts:**
 {{{
 function fix_jquery_render_blocking_inline_scripts( $before_handle_tag,
 $handle ) {
         if ( 'jquery-core' === $handle ) {
                 $before_handle_tag = preg_replace(
                         '#<script.*>(.*)</script>#Usmi',
                         'window.addEventListener(\'DOMContentLoaded\',
 function() {$1});',
                         $before_handle_tag
                 );
         }
         return $before_handle_tag;
 }
 add_filter( 'inline_script_before_loader_tag',
 'fix_jquery_render_blocking_inline_scripts', 10, 2 );
 }}}
-- 
Ticket URL: <https://core.trac.wordpress.org/ticket/51325#comment:2>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
    
    
More information about the wp-trac
mailing list