These are called in extensions. For example, the following module has some hooks:
local M = {}
M.onBeamNGTrigger = function(data)
-- ...
end| <?php | |
| class WordFence_Logins_Extended_Logs { | |
| protected $VERSION = 1; | |
| public function __construct() { | |
| add_action( 'admin_init', [ $this, 'init' ] ); | |
| add_action( 'wordfence_daily_cron', [ $this, 'update_backup' ], 5 ); | |
| add_action( 'wordfence_daily_cron', [ $this, 'cleanup_backup' ], 15 ); | |
| } |
| <?php | |
| add_filter( 'doing_it_wrong_trigger_error', function ( $doing_it_wrong, $function_name ) { | |
| if ( '_load_textdomain_just_in_time' === $function_name ) { | |
| return false; | |
| } | |
| return $doing_it_wrong; | |
| }, 10, 2 ); |
| <?php | |
| /** | |
| * Define which Stripe webhook applications are permitted, then exclude any other webhook request coming through. | |
| * | |
| * This is expecially useful when you have multiple websites sharing the same Stripe account. | |
| * Then, you gonna see multiple webhook requests coming from different applications. | |
| * This snippet will allow you to filter out the ones you don't want to process. | |
| */ |
| <?php | |
| /** | |
| * Don't apply coupons to the product addons from PPOM for WooCommerce plugin. | |
| ì */ | |
| add_filter( 'woocommerce_coupon_get_discount_amount', function ( $discount, $discounting_amount, $cart_item, $single, $coupon ) { | |
| if ( ! function_exists( 'ppom_get_field_prices' ) || ! function_exists( 'ppom_price_get_addon_total' ) ) { | |
| return $discount; | |
| } | |
| if ( $coupon->is_type( 'percent' ) ) { |
| <?php | |
| add_action( 'wp_enqueue_scripts', function () { | |
| wp_dequeue_style( 'wpml-legacy-horizontal-list-0' ); | |
| wp_dequeue_style( 'wpml-menu-item-0' ); | |
| } ); |
| -- Simhub telemetry mod, Wotever 2023 | |
| local M = {} | |
| local ip = "127.0.0.1" | |
| local port = 9999 | |
| local updateRate = 100 | |
| local udpSocket = nil | |
| local lastSimHubFrameData = nil | |
| local abs = math.abs | |
| local ffi = require("ffi") |
| (function () { | |
| jQuery(function ($) { | |
| // iubenda + vimeo: don't suppress dnt=1 videos | |
| $(document).on('elementor/popup/show', sedweb_gdpr_unsuppress_vimeo_dnt); | |
| sedweb_gdpr_unsuppress_vimeo_dnt(); | |
| function sedweb_gdpr_unsuppress_vimeo_dnt() { | |
| let suppressedIframes = $('iframe[suppressedsrc]'); | |
| suppressedIframes.each(function () { |
| <?php | |
| // these are the hooks sg-cachepress uses | |
| add_action( 'upgrader_process_complete', 'clean_cache_after_critical_action' ); | |
| add_action( 'automatic_updates_complete', 'clean_cache_after_critical_action' ); | |
| add_action( '_core_updated_successfully', 'clean_cache_after_critical_action' ); | |
| // this has been found in litespeed-cache | |
| add_action( 'admin_action_do-plugin-upgrade', 'clean_cache_after_critical_action' ); | |
| function clean_cache_after_critical_action() { |
| <?php | |
| $courses_ids = get_posts( 'post_type=stm-courses&numberposts=-1&fields=ids' ); | |
| $fixed_curriculums = []; | |
| foreach ( $courses_ids as $course_id ) { | |
| $curriculum = get_post_meta( $course_id, 'curriculum', true ); | |
| $items = explode( ',', $curriculum ); | |
| if ( ! empty( $items ) && is_numeric( reset( $items ) ) ) { |