Skip to content

Instantly share code, notes, and snippets.

@llgruff
Last active January 10, 2017 12:46
Show Gist options
  • Save llgruff/66dc3c3f0158fe5ab8be453dd8beb57e to your computer and use it in GitHub Desktop.
Save llgruff/66dc3c3f0158fe5ab8be453dd8beb57e to your computer and use it in GitHub Desktop.
Additional functions for WordPress Plugin [404 Error Logger] https://wordpress.org/plugins/404-error-logger (for functions.php)
<?php
/**
* Additional functions for WordPress Plugin [404 Error Logger]
* @link //wordpress.org/plugins/404-error-logger
*/
/**
* Add WordPress Dashboard Widget only for admin users (can 'manage_options')
* @link //codex.wordpress.org/Dashboard_Widgets_API
*/
function my_remove_dashboard_widget() {
remove_meta_box('404_error_log_widget', 'dashboard', 'side');
}
if ( !current_user_can( 'manage_options' ) ) {
add_action('wp_dashboard_setup', 'my_remove_dashboard_widget');
}
/**
* Add New Button in Admin Bar only for admin users (can 'manage_options')
* @link //codex.wordpress.org/Function_Reference/add_node
*/
function toolbar_link_404( $wp_admin_bar ) {
$args = array(
'id' => 'my_page_404',
'title' => '404',
'href' => get_admin_url() . 'tools.php?page=404_error_log',
'meta' => array( 'class' => 'my-toolbar-404' ) );
$wp_admin_bar->add_node( $args );
}
if ( current_user_can( 'manage_options' ) ) {
add_action( 'admin_bar_menu', 'toolbar_link_404', 999 );
}
/**
* Add Styles for Plugin Tables <table>:
* Different background colors for errors: today, yesterday, day before yesterday
* Fix Table in Dashboard Widget for Long Error Names
*/
function add_admin_custom_jquery() {
echo '<script type="text/javascript">
jQuery(function($){
$(document).ready(function(){
var date = new Date();
var values_now = [ date.getDate(), date.getMonth() + 1 ];
var values_yesterday = [ date.getDate() - 1, date.getMonth() + 1 ];
var values_day_before = [ date.getDate() - 2, date.getMonth() + 1 ];
for( var id in values_now ){
values_now[ id ] = values_now[ id ].toString().replace( /^([0-9])$/, \'0$1\' );
}
for( var id in values_yesterday ){
values_yesterday[ id ] = values_yesterday[ id ].toString().replace( /^([0-9])$/, \'0$1\' );
}
for( var id in values_day_before ){
values_day_before[ id ] = values_day_before[ id ].toString().replace( /^([0-9])$/, \'0$1\' );
}
var now = date.getFullYear()+\'-\'+values_now[ 1 ]+\'-\'+values_now[ 0 ];
var yesterday = date.getFullYear()+\'-\'+values_yesterday[ 1 ]+\'-\'+values_yesterday[ 0 ];
var day_before = date.getFullYear()+\'-\'+values_day_before[ 1 ]+\'-\'+values_day_before[ 0 ];
$(".tools_page_404_error_log .column-date:contains("+ now +")").parent("tr").css({"background-color":"#eafeef"});
$(".tools_page_404_error_log .column-date:contains("+ yesterday +")").parent("tr").css({"background-color":"#feefea"});
$(".tools_page_404_error_log .column-date:contains("+ day_before +")").parent("tr").css({"background-color":"#feeaf9"});
$("#404_error_log_widget td:contains("+ now +")").parent("tr").css({"background-color":"#eafeef"});
$("#404_error_log_widget td:contains("+ yesterday +")").parent("tr").css({"background-color":"#feefea"});
$("#404_error_log_widget td:contains("+ day_before +")").parent("tr").css({"background-color":"#feeaf9"});
$("#404_error_log_widget td a").css({"word-break":"break-all"});
$("#404_error_log_widget td:nth-child(2):not(:contains(1))").css({"color":"red"});
});
});
</script>';
}
add_action('admin_head', 'add_admin_custom_jquery');
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment