' . esc_html__( 'Settings saved.', 'adworksbid-seo' ) . '

'; } $auto_scan = AWBSEO_Broken_Links::auto_enabled(); $broken = AWBSEO_Broken_Links::get_broken(); $all = AWBSEO_Broken_Links::get_all( 200 ); ?>

%d broken link. Fix or redirect this URL.', '⚠️ Found %d broken links. Fix or redirect these URLs.', count( $broken ), 'adworksbid-seo' ), [ 'strong' => [] ] ), absint( count( $broken ) ) ); ?>
url ); ?> ↗ status_code === 0 ) { esc_html_e( 'Unreachable', 'adworksbid-seo' ); } else { /* translators: %d = HTTP status code (e.g. 404) */ printf( esc_html__( 'HTTP %d', 'adworksbid-seo' ), (int) $link->status_code ); } ?> post_title ); ?> last_checked ) ) ); ?>
__( 'Scanning…', 'adworksbid-seo' ), 'scanning_hint' => __( 'This may take a few minutes for large sites.', 'adworksbid-seo' ), 'run_scan' => __( 'Run Scan Now', 'adworksbid-seo' ), 'dismissing' => __( 'Dismissing…', 'adworksbid-seo' ), 'dismiss' => __( 'Dismiss', 'adworksbid-seo' ), 'dismiss_failed' => __( 'Could not dismiss this link. Please try again.', 'adworksbid-seo' ), 'save_failed' => __( 'Could not save status. Please try again.', 'adworksbid-seo' ), ] ) . ';'; $awb_bl_js .= <<<'AWBBLJS' jQuery(function($){ $('#awb-scan-all-links').on('click',function(){ var $btn=$(this); $btn.prop('disabled',true).text(_awbBlStr.scanning); $('.awb-scan-status').text(_awbBlStr.scanning_hint); $.post(AWBSEO.ajax_url,{action:'awbseo_scan_links',nonce:AWBSEO.nonce,post_id:0},function(){ $btn.prop('disabled',false).text(_awbBlStr.run_scan); location.reload(); }); }); $('.awb-add-redirect-for-link').on('click',function(){ var source=$(this).data('source'); window.location.href=_awbBlRedirectBase+'&prefill_source='+encodeURIComponent(source); }); $('.awb-dismiss-link').on('click',function(){ var $btn=$(this); var $row=$btn.closest('tr'); $btn.prop('disabled',true).text(_awbBlStr.dismissing); $.post(AWBSEO.ajax_url,{action:'awbseo_dismiss_link',nonce:AWBSEO.nonce,id:$btn.data('id')},function(res){ if(res&&res.success){$row.fadeOut(200,function(){$row.remove();if($('.awb-table tbody tr').length===0)location.reload();});} else{$btn.prop('disabled',false).text(_awbBlStr.dismiss);alert(_awbBlStr.dismiss_failed);} }).fail(function(){$btn.prop('disabled',false).text(_awbBlStr.dismiss);alert(_awbBlStr.dismiss_failed);}); }); $(document).on('change','.awb-fix-status-select',function(){ var $sel=$(this); var id=$sel.data('id'); var status=$sel.val(); var $saving=$('.awb-fix-status-saving[data-id="'+id+'"]'); $sel.prop('disabled',true); $saving.show(); $.post(AWBSEO.ajax_url,{action:'awbseo_set_link_fix_status',nonce:AWBSEO.nonce,id:id,fix_status:status},function(res){ $sel.prop('disabled',false); $saving.hide(); if(res&&res.success){ var $row=$sel.closest('tr'); if(status==='fixed'){ $row.css('opacity','0.5'); }else{ $row.css('opacity','1'); } }else{ alert(_awbBlStr.save_failed); } }).fail(function(){$sel.prop('disabled',false);$saving.hide();alert(_awbBlStr.save_failed);}); }); }); AWBBLJS; wp_add_inline_script( 'awbseo-admin', $awb_bl_js ); ?>