| <?php |
| |
| |
| |
| class Akismet_Widget extends WP_Widget { |
|
|
| function __construct() { |
| load_plugin_textdomain( 'akismet' ); |
| |
| parent::__construct( |
| 'akismet_widget', |
| __( 'Akismet Widget' , 'akismet'), |
| array( 'description' => __( 'Display the number of spam comments Akismet has caught' , 'akismet') ) |
| ); |
|
|
| if ( is_active_widget( false, false, $this->id_base ) ) { |
| add_action( 'wp_head', array( $this, 'css' ) ); |
| } |
| } |
|
|
| function css() { |
| ?> |
|
|
| <style type="text/css"> |
| .a-stats { |
| width: auto; |
| } |
| .a-stats a { |
| background: |
| background-image:-moz-linear-gradient(0% 100% 90deg,#5F8E14,#7CA821); |
| background-image:-webkit-gradient(linear,0% 0,0% 100%,from(#7CA821),to(#5F8E14)); |
| border: 1px solid |
| border-radius:3px; |
| color: |
| cursor: pointer; |
| display: block; |
| font-weight: normal; |
| height: 100%; |
| -moz-border-radius:3px; |
| padding: 7px 0 8px; |
| text-align: center; |
| text-decoration: none; |
| -webkit-border-radius:3px; |
| width: 100%; |
| } |
| .a-stats a:hover { |
| text-decoration: none; |
| background-image:-moz-linear-gradient(0% 100% 90deg,#6F9C1B,#659417); |
| background-image:-webkit-gradient(linear,0% 0,0% 100%,from(#659417),to(#6F9C1B)); |
| } |
| .a-stats .count { |
| color: |
| display: block; |
| font-size: 15px; |
| line-height: 16px; |
| padding: 0 13px; |
| white-space: nowrap; |
| } |
| </style> |
|
|
| <?php |
| } |
|
|
| function form( $instance ) { |
| if ( $instance && isset( $instance['title'] ) ) { |
| $title = $instance['title']; |
| } |
| else { |
| $title = __( 'Spam Blocked' , 'akismet' ); |
| } |
| ?> |
|
|
| <p> |
| <label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php esc_html_e( 'Title:' , 'akismet'); ?></label> |
| <input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" /> |
| </p> |
| |
| <?php |
| } |
| |
| function update( $new_instance, $old_instance ) { |
| $instance = array(); |
| $instance['title'] = strip_tags( $new_instance['title'] ); |
| return $instance; |
| } |
|
|
| function widget( $args, $instance ) { |
| $count = get_option( 'akismet_spam_count' ); |
|
|
| if ( ! isset( $instance['title'] ) ) { |
| $instance['title'] = __( 'Spam Blocked' , 'akismet' ); |
| } |
|
|
| echo $args['before_widget']; |
| if ( ! empty( $instance['title'] ) ) { |
| echo $args['before_title']; |
| echo esc_html( $instance['title'] ); |
| echo $args['after_title']; |
| } |
| ?> |
|
|
| <div class="a-stats"> |
| <a href="https://akismet.com" target="_blank" rel="noopener" title=""> |
| <?php |
| |
| echo wp_kses( |
| sprintf( |
| /* translators: The placeholder is the number of pieces of spam blocked by Akismet. */ |
| _n( |
| '<strong class="count">%1$s spam</strong> blocked by <strong>Akismet</strong>', |
| '<strong class="count">%1$s spam</strong> blocked by <strong>Akismet</strong>', |
| $count, |
| 'akismet' |
| ), |
| number_format_i18n( $count ) |
| ), |
| array( |
| 'strong' => array( |
| 'class' => true, |
| ), |
| ) |
| ); |
| |
| ?> |
| </a> |
| </div> |
| |
| <?php |
| echo $args['after_widget']; |
| } |
| } |
| |
| function akismet_register_widgets() { |
| register_widget( 'Akismet_Widget' ); |
| } |
|
|
| add_action( 'widgets_init', 'akismet_register_widgets' ); |
|
|