File: /var/www/html/triad-infosec/wp-content/plugins/fusion-builder/js/yoast-integration.js
/**
* Yoast SEO Integration
*/
const FusionYoast = function() {
window.YoastSEO.app.registerPlugin( 'FusionYoast', { status: 'ready' } );
window.YoastSEO.app.registerModification( 'content', this.myContentModification, 'FusionYoast', 5 );
this.events();
};
FusionYoast.prototype.myContentModification = function( content ) {
content = jQuery( '#fusion-builder-rendered-content' ).val();
return content;
};
FusionYoast.prototype.events = function( ) {
jQuery( document ).on( 'fusion-builder-content-updated', function() {
$.ajax( {
method: 'POST',
url: window.fusionBuilderConfig.rest_url + 'awb/rendered_content',
data: { content: window.fusionBuilderGetContent( 'content' ) },
beforeSend: function ( xhr ) {
xhr.setRequestHeader( 'X-WP-Nonce', window.fusionBuilderConfig.rest_nonce );
}
} ).done( function( result ) {
jQuery( '#fusion-builder-rendered-content' ).val( result.content );
window.setTimeout( function() {
window.YoastSEO.app.pluginReloaded( 'FusionYoast' );
}, 500 );
} );
} );
};
/**
* Initializes the Additional ReplaceVars plugin.
*
* @returns {void}
*/
function initializeFusionYoast() {
// When YoastSEO is available, just instantiate the plugin.
if ( 'undefined' !== typeof window.YoastSEO && 'undefined' !== typeof window.YoastSEO.app ) {
new FusionYoast(); // eslint-disable-line no-new
return;
}
// Otherwise, add an event that will be executed when YoastSEO will be available.
jQuery( window ).on( 'YoastSEO:ready', function () {
new FusionYoast(); // eslint-disable-line no-new
} );
}
initializeFusionYoast();