File "Hooks.php"
Full Path: /home/pumpbmko/public_html/wp-content/themes/momota/lib/colibriwp/src/Core/Hooks.php
File size: 2.49 KB
MIME-type: text/x-php
Charset: utf-8
<?php
namespace ColibriWP\Theme\Core;
use ColibriWP\Theme\Theme;
use function add_action;
use function add_filter;
/**
* Class Hooks
*
* @package ColibriTheme\Core
*
* @method static Hooks prefixed_add_action( string $tag, callable $function_to_add, $priority = 10, $accepted_args = 1 )
* @method static Hooks prefixed_add_filter( string $tag, callable $function_to_add, $priority = 10, $accepted_args = 1 )
* @method static Hooks prefixed_do_action( string $tag, ...$args )
* @method static Hooks mixed prefixed_apply_filters( string $tag, $value, ...$args )
*/
class Hooks {
/**
* @param string $tag
* @param callable $function_to_add
* @param int $priority
* @param int $accepted_args
*/
public static function add_action( $tag, $function_to_add, $priority = 10, $accepted_args = 1 ) {
add_action( $tag, $function_to_add, $priority, $accepted_args );
}
/**
* @param string $tag
* @param callable $function_to_add
* @param int $priority
* @param int $accepted_args
*/
public static function add_filter( $tag, $function_to_add, $priority = 10, $accepted_args = 1 ) {
add_filter( $tag, $function_to_add, $priority, $accepted_args );
}
public static function do_action( $tag, $arg = '' ) {
return call_user_func_array( 'do_action', func_get_args() );
}
/**
* @param string $tag The name of the filter hook.
* @param mixed $value The value on which the filters hooked to `$tag` are applied on.
* @param mixed $var,... Additional variables passed to the functions hooked to `$tag`.
*
* @return mixed The filtered value after all hooked functions are applied to it.
*/
public static function apply_filters( $tag, $value ) {
return call_user_func_array( 'apply_filters', func_get_args() );
}
public static function __callStatic( $name, $arguments ) {
if ( strpos( $name, 'prefixed_' ) === 0 ) {
$name = str_replace( 'prefixed_', '', $name );
$arguments[0] = Theme::prefix( $arguments[0] );
return call_user_func_array( array( __CLASS__, $name ), $arguments );
}
}
public static function add_wp_ajax( $tag, $function_to_add, $priority = 10, $accepted_args = 1 ) {
// error_log(' \'wp_ajax_\'. Theme::prefix($tag, false)'. 'wp_ajax_'. Theme::prefix($tag, false));
add_action( 'wp_ajax_' . Theme::prefix( $tag, false ), $function_to_add, $priority, $accepted_args );
}
/**
* @param $data
*
* @return \Closure
*/
public static function identity( $data ) {
return function () use ( $data ) {
return $data;
};
}
}