[ Index ]

PHP Cross Reference of WordPress Trunk (Updated Daily)

Search

title

Body

[close]

/wp-content/plugins/akismet/ -> class-akismet-abilities.php (source)

   1  <?php
   2  /**
   3   * Registers Akismet abilities with the WordPress Abilities API.
   4   *
   5   * @package Akismet
   6   * @since 5.7
   7   */
   8  
   9  declare( strict_types = 1 );
  10  
  11  // Load ability interface and classes.
  12  require_once  __DIR__ . '/abilities/interface-akismet-ability.php';
  13  require_once  __DIR__ . '/abilities/class-akismet-ability.php';
  14  require_once  __DIR__ . '/abilities/class-akismet-ability-get-stats.php';
  15  require_once  __DIR__ . '/abilities/class-akismet-ability-comment-check.php';
  16  
  17  /**
  18   * Class Akismet_Abilities
  19   *
  20   * Registers Akismet abilities with the WordPress Abilities API.
  21   * Provides abilities for spam detection and comment moderation.
  22   */
  23  class Akismet_Abilities {
  24  
  25      /**
  26       * The category slug for Akismet abilities.
  27       *
  28       * @var string
  29       */
  30      const CATEGORY_SLUG = 'akismet';
  31  
  32      /**
  33       * Initialize the ability registration.
  34       *
  35       * @return void
  36       */
  37  	public static function init() {
  38          // Register category.
  39          if ( did_action( 'wp_abilities_api_categories_init' ) ) {
  40              self::register_category();
  41          } else {
  42              add_action( 'wp_abilities_api_categories_init', array( __CLASS__, 'register_category' ) );
  43          }
  44  
  45          // Register abilities.
  46          if ( did_action( 'wp_abilities_api_init' ) ) {
  47              self::register_abilities();
  48          } else {
  49              add_action( 'wp_abilities_api_init', array( __CLASS__, 'register_abilities' ) );
  50          }
  51      }
  52  
  53      /**
  54       * Register the Akismet ability category.
  55       *
  56       * @return void
  57       */
  58  	public static function register_category() {
  59          if ( ! function_exists( 'wp_register_ability_category' ) ) {
  60              return;
  61          }
  62  
  63          wp_register_ability_category(
  64              self::CATEGORY_SLUG,
  65              array(
  66                  'label'       => 'Akismet',
  67                  'description' => __( 'Abilities for spam protection and comment moderation with Akismet.', 'akismet' ),
  68              )
  69          );
  70      }
  71  
  72      /**
  73       * Register all Akismet abilities.
  74       *
  75       * @return void
  76       */
  77  	public static function register_abilities() {
  78          if ( ! function_exists( 'wp_register_ability' ) ) {
  79              return;
  80          }
  81  
  82          $abilities = array(
  83              Akismet_Ability_Get_Stats::class,
  84              Akismet_Ability_Comment_Check::class,
  85          );
  86  
  87          foreach ( $abilities as $ability_class ) {
  88              new $ability_class();
  89          }
  90      }
  91  }


Generated : Sat Jun 13 09:38:55 2026 Cross-referenced by PHPXref