For some strange reason, some CSS files are not loaded on certain pages, resulting in Font awesome characters not processing properly. Use below to force through JS as a fallback.
function missing_css_fix() { ?> <script> function missing_css_fix () { var ss = document.styleSheets; for (var i = 0, max = ss.length; i < max; i++) { if (ss[i].href!=null && (new URL(ss[i].href).pathname) == "/wp-content/plugins/js_composer/assets/lib/bower/font-awesome/css/v4-shims.min.css?ver=6.2.0") return; } var link = document.createElement("link"); link.rel = "stylesheet"; link.href = "/wp-content/plugins/js_composer/assets/lib/bower/font-awesome/css/v4-shims.min.css?ver=6.2.0"; //absolute url path (without domain) document.getElementsByTagName("head")[0].appendChild(link); } missing_css_fix(); </script> <?php } add_action( 'wp_footer', 'missing_css_fix' );