パーティーに少し遅れましたが、私が見つけたものを投げると思っていました。 (これは、Google Speed Insightsとスクリプトのブロック配信https://developers.google.com/speed/docs/insights/OptimizeCSSDeliveryのために達成しようとしていると仮定します)。
add_action('wp_print_styles', 'my_print_styles');
function my_print_styles($handles = false) {
global $wp_styles;
if (! ($wp_styles instanceof WP_Styles)) {
if (! $handles) {
return array(); // No need to instantiate if nothing is there.
}
}
echo '<noscript id="deferred-styles">';
wp_styles()->do_items();
echo '</noscript><script>
var loadDeferredStyles = function() {
var addStylesNode = document.getElementById("deferred-styles");
var replacement = document.createElement("div");
replacement.innerHTML = addStylesNode.textContent;
document.body.appendChild(replacement)
addStylesNode.parentElement.removeChild(addStylesNode);
};
var raf = requestAnimationFrame || mozRequestAnimationFrame ||
webkitRequestAnimationFrame || msRequestAnimationFrame;
if (raf) raf(function() { window.setTimeout(loadDeferredStyles, 0); });
else window.addEventListener(\'load\', loadDeferredStyles);
</script>'; }
恐らく最も優雅な魂は問題にはなりませんが、おそらくトリックを行います。