관리-도구
편집 파일: class.akismet-widget.php
<?php /** * @package Akismet */ // We plan to gradually remove all of the disabled lint rules below. // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped 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: #7CA821; 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 #5F8E14; border-radius:3px; color: #CFEA93; 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: #FFF; 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' );