57 lines
1.6 KiB
JavaScript
57 lines
1.6 KiB
JavaScript
/**
|
|
* 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();
|
|
|