Changeset 3329028
- Timestamp:
- 07/16/2025 11:49:33 AM (9 months ago)
- Location:
- seo-by-rank-math
- Files:
-
- 2 added
- 46 edited
- 1 copied
-
tags/1.0.249 (copied) (copied from seo-by-rank-math/trunk)
-
tags/1.0.249/includes/helpers/class-wordpress.php (modified) (1 diff)
-
tags/1.0.249/includes/modules/buddypress/class-buddypress.php (modified) (1 diff)
-
tags/1.0.249/languages/rank-math.pot (modified) (2 diffs)
-
tags/1.0.249/rank-math.php (modified) (2 diffs)
-
tags/1.0.249/readme.txt (modified) (2 diffs)
-
tags/1.0.249/vendor/autoload.php (modified) (1 diff)
-
tags/1.0.249/vendor/composer/autoload_real.php (modified) (3 diffs)
-
tags/1.0.249/vendor/composer/autoload_static.php (modified) (2 diffs)
-
tags/1.0.249/vendor/composer/installed.json (modified) (2 diffs)
-
tags/1.0.249/vendor/composer/installed.php (modified) (3 diffs)
-
tags/1.0.249/vendor/woocommerce/action-scheduler/action-scheduler.php (modified) (6 diffs)
-
tags/1.0.249/vendor/woocommerce/action-scheduler/classes/ActionScheduler_DataController.php (modified) (1 diff)
-
tags/1.0.249/vendor/woocommerce/action-scheduler/classes/ActionScheduler_RecurringActionScheduler.php (added)
-
tags/1.0.249/vendor/woocommerce/action-scheduler/classes/ActionScheduler_wcSystemStatus.php (modified) (1 diff)
-
tags/1.0.249/vendor/woocommerce/action-scheduler/classes/WP_CLI/Action/Create_Command.php (modified) (1 diff)
-
tags/1.0.249/vendor/woocommerce/action-scheduler/classes/WP_CLI/Action/Get_Command.php (modified) (1 diff)
-
tags/1.0.249/vendor/woocommerce/action-scheduler/classes/WP_CLI/System_Command.php (modified) (1 diff)
-
tags/1.0.249/vendor/woocommerce/action-scheduler/classes/abstracts/ActionScheduler.php (modified) (3 diffs)
-
tags/1.0.249/vendor/woocommerce/action-scheduler/classes/abstracts/ActionScheduler_Abstract_QueueRunner.php (modified) (1 diff)
-
tags/1.0.249/vendor/woocommerce/action-scheduler/classes/data-stores/ActionScheduler_DBStore.php (modified) (7 diffs)
-
tags/1.0.249/vendor/woocommerce/action-scheduler/classes/data-stores/ActionScheduler_HybridStore.php (modified) (1 diff)
-
tags/1.0.249/vendor/woocommerce/action-scheduler/classes/data-stores/ActionScheduler_wpPostStore.php (modified) (3 diffs)
-
tags/1.0.249/vendor/woocommerce/action-scheduler/classes/schema/ActionScheduler_StoreSchema.php (modified) (2 diffs)
-
tags/1.0.249/vendor/woocommerce/action-scheduler/functions.php (modified) (4 diffs)
-
trunk/includes/helpers/class-wordpress.php (modified) (1 diff)
-
trunk/includes/modules/buddypress/class-buddypress.php (modified) (1 diff)
-
trunk/languages/rank-math.pot (modified) (2 diffs)
-
trunk/rank-math.php (modified) (2 diffs)
-
trunk/readme.txt (modified) (2 diffs)
-
trunk/vendor/autoload.php (modified) (1 diff)
-
trunk/vendor/composer/autoload_real.php (modified) (3 diffs)
-
trunk/vendor/composer/autoload_static.php (modified) (2 diffs)
-
trunk/vendor/composer/installed.json (modified) (2 diffs)
-
trunk/vendor/composer/installed.php (modified) (3 diffs)
-
trunk/vendor/woocommerce/action-scheduler/action-scheduler.php (modified) (6 diffs)
-
trunk/vendor/woocommerce/action-scheduler/classes/ActionScheduler_DataController.php (modified) (1 diff)
-
trunk/vendor/woocommerce/action-scheduler/classes/ActionScheduler_RecurringActionScheduler.php (added)
-
trunk/vendor/woocommerce/action-scheduler/classes/ActionScheduler_wcSystemStatus.php (modified) (1 diff)
-
trunk/vendor/woocommerce/action-scheduler/classes/WP_CLI/Action/Create_Command.php (modified) (1 diff)
-
trunk/vendor/woocommerce/action-scheduler/classes/WP_CLI/Action/Get_Command.php (modified) (1 diff)
-
trunk/vendor/woocommerce/action-scheduler/classes/WP_CLI/System_Command.php (modified) (1 diff)
-
trunk/vendor/woocommerce/action-scheduler/classes/abstracts/ActionScheduler.php (modified) (3 diffs)
-
trunk/vendor/woocommerce/action-scheduler/classes/abstracts/ActionScheduler_Abstract_QueueRunner.php (modified) (1 diff)
-
trunk/vendor/woocommerce/action-scheduler/classes/data-stores/ActionScheduler_DBStore.php (modified) (7 diffs)
-
trunk/vendor/woocommerce/action-scheduler/classes/data-stores/ActionScheduler_HybridStore.php (modified) (1 diff)
-
trunk/vendor/woocommerce/action-scheduler/classes/data-stores/ActionScheduler_wpPostStore.php (modified) (3 diffs)
-
trunk/vendor/woocommerce/action-scheduler/classes/schema/ActionScheduler_StoreSchema.php (modified) (2 diffs)
-
trunk/vendor/woocommerce/action-scheduler/functions.php (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
seo-by-rank-math/tags/1.0.249/includes/helpers/class-wordpress.php
r3313761 r3329028 765 765 add_filter( 'wp_check_filetype_and_ext', [ __CLASS__, 'filetype_and_ext' ], 10, 3 ); 766 766 767 // Do the upload. 768 $file = isset( $_FILES['import-me'] ) 769 ? wp_handle_upload( $_FILES['import-me'], [ 'test_form' => false ] ) 770 : new WP_Error( 'missing_file', __( 'No file selected for upload.', 'rank-math' ) ); 767 if ( isset( $_FILES['import-me'] ) ) { 768 // Do the upload. 769 if ( ! function_exists( 'wp_handle_upload' ) ) { 770 $required_file = ABSPATH . 'wp-admin/includes/file.php'; 771 if ( file_exists( $required_file ) ) { 772 require_once $required_file; // @phpstan-ignore-line 773 } 774 } 775 $file = wp_handle_upload( $_FILES['import-me'], [ 'test_form' => false ] ); 776 } else { 777 $file = new WP_Error( 'missing_file', __( 'No file selected for upload.', 'rank-math' ) ); 778 } 771 779 772 780 // Remove upload hooks. -
seo-by-rank-math/tags/1.0.249/includes/modules/buddypress/class-buddypress.php
r3318065 r3329028 86 86 '@type' => 'Person', 87 87 'name' => get_the_author_meta( 'display_name', $user_id ), 88 'url' => esc_url( bp_members_get_user_url( $user_id ) ),88 'url' => function_exists( 'bp_members_get_user_url' ) ? esc_url( bp_members_get_user_url( $user_id ) ) : esc_url( bp_core_get_user_domain( $user_id ) ), 89 89 'description' => get_the_author_meta( 'description', $user_id ), 90 90 'image' => [ -
seo-by-rank-math/tags/1.0.249/languages/rank-math.pot
r3324705 r3329028 3 3 msgid "" 4 4 msgstr "" 5 "Project-Id-Version: Rank Math SEO 1.0.249 -beta\n"5 "Project-Id-Version: Rank Math SEO 1.0.249\n" 6 6 "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/seo-by-rank-math\n" 7 7 "Last-Translator: Rank Math <support@rankmath.com>\n" … … 10 10 "Content-Type: text/plain; charset=UTF-8\n" 11 11 "Content-Transfer-Encoding: 8bit\n" 12 "POT-Creation-Date: 2025-07- 09T05:57:48+00:00\n"12 "POT-Creation-Date: 2025-07-16T05:14:55+00:00\n" 13 13 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 14 14 "X-Generator: WP-CLI 2.12.0\n" -
seo-by-rank-math/tags/1.0.249/rank-math.php
r3324705 r3329028 10 10 * @wordpress-plugin 11 11 * Plugin Name: Rank Math SEO 12 * Version: 1.0.249 -beta12 * Version: 1.0.249 13 13 * Plugin URI: https://rankmath.com/ 14 14 * Description: Rank Math SEO is the Best WordPress SEO plugin with the features of many SEO and AI SEO tools in a single package to help multiply your SEO traffic. … … 35 35 * @var string 36 36 */ 37 public $version = '1.0.249 -beta';37 public $version = '1.0.249'; 38 38 39 39 /** -
seo-by-rank-math/tags/1.0.249/readme.txt
r3321531 r3329028 6 6 Requires at least: 6.3 7 7 Requires PHP: 7.4 8 Stable tag: 1.0.24 88 Stable tag: 1.0.249 9 9 License: GPLv3 or later 10 10 License URI: https://www.gnu.org/licenses/gpl-3.0.txt … … 340 340 == Changelog == 341 341 342 = 1.0.248 [July 03, 2025] = 343 - Added: [Filter](https://rankmath.com/kb/filters-hooks-api-developer/#remove-target-blank-attribute) to exclude certain domains from the [Open External Links in New Tab](https://rankmath.com/kb/open-links-in-new-window/) option 344 - Added: [Filter](https://rankmath.com/kb/filters-hooks-api-developer/#html-sitemap-post-limit) to set a hard limit on the posts displayed in the HTML sitemap, defaults to 1000 posts 345 - Improved: Changed the [Analytics](https://rankmath.com/kb/analytics/) data fetch frequency from 7 days to 3 days to show fresher data sooner in the Stats 346 - Improved: Site getting automatically disconnected from Analytics will now attempt to reconnect in the background, and if that fails, a notice will prompt the user to reconnect manually 347 - Improved: [Analytics URL Inspection](https://rankmath.com/kb/url-inspection-api-integration/) now prioritizes fetching high-traffic pages before other pages 348 - Fixed: Incorrect [Post Analytics stats](https://rankmath.com/kb/analytics/#post-analytics) shown for secondary language posts when the sub-directory option is enabled in the WPML plugin 349 - Fixed: PHP warning on the [Database Tools page](https://rankmath.com/kb/rank-math-status-and-tools/#database-tools) when WPML plugin is not active 350 - Fixed: Deprecated PHP warning on the BuddyPress author page 351 - Fixed: Deprecated warnings shown in the browser inspect on the [Setup Wizard page](https://rankmath.com/kb/how-to-setup/) 342 = 1.0.249 [July 16, 2025] = 343 - Improved: Updated the [Links modal](https://rankmath.com/kb/should-you-nofollow-external-links/) UI to align with WordPress styling 344 - Improved: Optimized database queries in the [Analytics module](https://rankmath.com/kb/analytics) running in background processes 345 - Improved: Added site notice for failed Analytics data fetch due to any reason 346 - Fixed: [Focus Keyword in Image Alt attributes test](https://rankmath.com/kb/score-100-in-tests/#focus-keyword-in-image-alt-attributes-primary-focus-keyword-only) was failing when content had no spaces 347 - Fixed: [Content Analysis tests](https://rankmath.com/kb/content-analysis-tests-for-product-pages/) were not updating in the Classic editor after switching from Text to Visual mode 348 - Fixed: Attachment name and description were not updating on some sites with [Content AI module](https://rankmath.com/kb/how-to-use-content-ai/) active 349 - Fixed: PHP error on BuddyPress Members page when BuddyBoss is active on the site 352 350 353 351 Full changelog can be found here - **[Rank Math changelog](https://rankmath.com/changelog/?utm_source=Plugin&utm_medium=Changelog&utm_campaign=WP)** -
seo-by-rank-math/tags/1.0.249/vendor/autoload.php
r3324705 r3329028 23 23 require_once __DIR__ . '/composer/autoload_real.php'; 24 24 25 return ComposerAutoloaderInit 45563e877daef92451ad455ea7d3b867::getLoader();25 return ComposerAutoloaderInitbdd6a2e1f666e8489d5ea142b6f29e76::getLoader(); -
seo-by-rank-math/tags/1.0.249/vendor/composer/autoload_real.php
r3324705 r3329028 3 3 // autoload_real.php @generated by Composer 4 4 5 class ComposerAutoloaderInit 45563e877daef92451ad455ea7d3b8675 class ComposerAutoloaderInitbdd6a2e1f666e8489d5ea142b6f29e76 6 6 { 7 7 private static $loader; … … 25 25 require __DIR__ . '/platform_check.php'; 26 26 27 spl_autoload_register(array('ComposerAutoloaderInit 45563e877daef92451ad455ea7d3b867', 'loadClassLoader'), true, true);27 spl_autoload_register(array('ComposerAutoloaderInitbdd6a2e1f666e8489d5ea142b6f29e76', 'loadClassLoader'), true, true); 28 28 self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__)); 29 spl_autoload_unregister(array('ComposerAutoloaderInit 45563e877daef92451ad455ea7d3b867', 'loadClassLoader'));29 spl_autoload_unregister(array('ComposerAutoloaderInitbdd6a2e1f666e8489d5ea142b6f29e76', 'loadClassLoader')); 30 30 31 31 require __DIR__ . '/autoload_static.php'; 32 call_user_func(\Composer\Autoload\ComposerStaticInit 45563e877daef92451ad455ea7d3b867::getInitializer($loader));32 call_user_func(\Composer\Autoload\ComposerStaticInitbdd6a2e1f666e8489d5ea142b6f29e76::getInitializer($loader)); 33 33 34 34 $loader->register(true); 35 35 36 $includeFiles = \Composer\Autoload\ComposerStaticInit 45563e877daef92451ad455ea7d3b867::$files;36 $includeFiles = \Composer\Autoload\ComposerStaticInitbdd6a2e1f666e8489d5ea142b6f29e76::$files; 37 37 foreach ($includeFiles as $fileIdentifier => $file) { 38 composerRequire 45563e877daef92451ad455ea7d3b867($fileIdentifier, $file);38 composerRequirebdd6a2e1f666e8489d5ea142b6f29e76($fileIdentifier, $file); 39 39 } 40 40 … … 48 48 * @return void 49 49 */ 50 function composerRequire 45563e877daef92451ad455ea7d3b867($fileIdentifier, $file)50 function composerRequirebdd6a2e1f666e8489d5ea142b6f29e76($fileIdentifier, $file) 51 51 { 52 52 if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { -
seo-by-rank-math/tags/1.0.249/vendor/composer/autoload_static.php
r3324705 r3329028 5 5 namespace Composer\Autoload; 6 6 7 class ComposerStaticInit 45563e877daef92451ad455ea7d3b8677 class ComposerStaticInitbdd6a2e1f666e8489d5ea142b6f29e76 8 8 { 9 9 public static $files = array ( … … 397 397 { 398 398 return \Closure::bind(function () use ($loader) { 399 $loader->prefixLengthsPsr4 = ComposerStaticInit 45563e877daef92451ad455ea7d3b867::$prefixLengthsPsr4;400 $loader->prefixDirsPsr4 = ComposerStaticInit 45563e877daef92451ad455ea7d3b867::$prefixDirsPsr4;401 $loader->classMap = ComposerStaticInit 45563e877daef92451ad455ea7d3b867::$classMap;399 $loader->prefixLengthsPsr4 = ComposerStaticInitbdd6a2e1f666e8489d5ea142b6f29e76::$prefixLengthsPsr4; 400 $loader->prefixDirsPsr4 = ComposerStaticInitbdd6a2e1f666e8489d5ea142b6f29e76::$prefixDirsPsr4; 401 $loader->classMap = ComposerStaticInitbdd6a2e1f666e8489d5ea142b6f29e76::$classMap; 402 402 403 403 }, null, ClassLoader::class); -
seo-by-rank-math/tags/1.0.249/vendor/composer/installed.json
r3235345 r3329028 241 241 { 242 242 "name": "woocommerce/action-scheduler", 243 "version": "3.9. 2",244 "version_normalized": "3.9. 2.0",243 "version": "3.9.3", 244 "version_normalized": "3.9.3.0", 245 245 "source": { 246 246 "type": "git", 247 247 "url": "https://github.com/woocommerce/action-scheduler.git", 248 "reference": " efbb7953f72a433086335b249292f280dd43ddfe"249 }, 250 "dist": { 251 "type": "zip", 252 "url": "https://api.github.com/repos/woocommerce/action-scheduler/zipball/ efbb7953f72a433086335b249292f280dd43ddfe",253 "reference": " efbb7953f72a433086335b249292f280dd43ddfe",254 "shasum": "" 255 }, 256 "require": { 257 "php": ">=7. 1"258 }, 259 "require-dev": { 260 "phpunit/phpunit": "^ 7.5",248 "reference": "c58cdbab17651303d406cd3b22cf9d75c71c986c" 249 }, 250 "dist": { 251 "type": "zip", 252 "url": "https://api.github.com/repos/woocommerce/action-scheduler/zipball/c58cdbab17651303d406cd3b22cf9d75c71c986c", 253 "reference": "c58cdbab17651303d406cd3b22cf9d75c71c986c", 254 "shasum": "" 255 }, 256 "require": { 257 "php": ">=7.2" 258 }, 259 "require-dev": { 260 "phpunit/phpunit": "^8.5", 261 261 "woocommerce/woocommerce-sniffs": "0.1.0", 262 262 "wp-cli/wp-cli": "~2.5.0", 263 263 "yoast/phpunit-polyfills": "^2.0" 264 264 }, 265 "time": "2025-0 2-03T09:09:30+00:00",265 "time": "2025-07-15T09:32:30+00:00", 266 266 "type": "wordpress-plugin", 267 267 "extra": { … … 281 281 "support": { 282 282 "issues": "https://github.com/woocommerce/action-scheduler/issues", 283 "source": "https://github.com/woocommerce/action-scheduler/tree/3.9. 2"283 "source": "https://github.com/woocommerce/action-scheduler/tree/3.9.3" 284 284 }, 285 285 "install-path": "../woocommerce/action-scheduler" -
seo-by-rank-math/tags/1.0.249/vendor/composer/installed.php
r3324705 r3329028 2 2 'root' => array( 3 3 'name' => 'rankmath/seo-by-rank-math', 4 'pretty_version' => 'v1.0.249 -beta',5 'version' => '1.0.249.0 -beta',6 'reference' => ' 506592f3cf85dd265adc9bdc78101cafd48f0175',4 'pretty_version' => 'v1.0.249', 5 'version' => '1.0.249.0', 6 'reference' => 'eacee31c09f6fa9018cec0b6b71972eb7ec35880', 7 7 'type' => 'wordpress-plugin', 8 8 'install_path' => __DIR__ . '/../../', … … 48 48 ), 49 49 'rankmath/seo-by-rank-math' => array( 50 'pretty_version' => 'v1.0.249 -beta',51 'version' => '1.0.249.0 -beta',52 'reference' => ' 506592f3cf85dd265adc9bdc78101cafd48f0175',50 'pretty_version' => 'v1.0.249', 51 'version' => '1.0.249.0', 52 'reference' => 'eacee31c09f6fa9018cec0b6b71972eb7ec35880', 53 53 'type' => 'wordpress-plugin', 54 54 'install_path' => __DIR__ . '/../../', … … 57 57 ), 58 58 'woocommerce/action-scheduler' => array( 59 'pretty_version' => '3.9. 2',60 'version' => '3.9. 2.0',61 'reference' => ' efbb7953f72a433086335b249292f280dd43ddfe',59 'pretty_version' => '3.9.3', 60 'version' => '3.9.3.0', 61 'reference' => 'c58cdbab17651303d406cd3b22cf9d75c71c986c', 62 62 'type' => 'wordpress-plugin', 63 63 'install_path' => __DIR__ . '/../woocommerce/action-scheduler', -
seo-by-rank-math/tags/1.0.249/vendor/woocommerce/action-scheduler/action-scheduler.php
r3235345 r3329028 6 6 * Author: Automattic 7 7 * Author URI: https://automattic.com/ 8 * Version: 3.9. 28 * Version: 3.9.3 9 9 * License: GPLv3 10 10 * Requires at least: 6.5 11 * Tested up to: 6. 712 * Requires PHP: 7. 111 * Tested up to: 6.8 12 * Requires PHP: 7.2 13 13 * 14 14 * Copyright 2019 Automattic, Inc. (https://automattic.com/contact/) … … 30 30 */ 31 31 32 if ( ! function_exists( 'action_scheduler_register_3_dot_9_dot_ 2' ) && function_exists( 'add_action' ) ) { // WRCS: DEFINED_VERSION.32 if ( ! function_exists( 'action_scheduler_register_3_dot_9_dot_3' ) && function_exists( 'add_action' ) ) { // WRCS: DEFINED_VERSION. 33 33 34 34 if ( ! class_exists( 'ActionScheduler_Versions', false ) ) { … … 37 37 } 38 38 39 add_action( 'plugins_loaded', 'action_scheduler_register_3_dot_9_dot_ 2', 0, 0 ); // WRCS: DEFINED_VERSION.39 add_action( 'plugins_loaded', 'action_scheduler_register_3_dot_9_dot_3', 0, 0 ); // WRCS: DEFINED_VERSION. 40 40 41 41 // phpcs:disable Generic.Functions.OpeningFunctionBraceKernighanRitchie.ContentAfterBrace … … 43 43 * Registers this version of Action Scheduler. 44 44 */ 45 function action_scheduler_register_3_dot_9_dot_ 2() { // WRCS: DEFINED_VERSION.45 function action_scheduler_register_3_dot_9_dot_3() { // WRCS: DEFINED_VERSION. 46 46 $versions = ActionScheduler_Versions::instance(); 47 $versions->register( '3.9. 2', 'action_scheduler_initialize_3_dot_9_dot_2' ); // WRCS: DEFINED_VERSION.47 $versions->register( '3.9.3', 'action_scheduler_initialize_3_dot_9_dot_3' ); // WRCS: DEFINED_VERSION. 48 48 } 49 49 … … 52 52 * Initializes this version of Action Scheduler. 53 53 */ 54 function action_scheduler_initialize_3_dot_9_dot_ 2() { // WRCS: DEFINED_VERSION.54 function action_scheduler_initialize_3_dot_9_dot_3() { // WRCS: DEFINED_VERSION. 55 55 // A final safety check is required even here, because historic versions of Action Scheduler 56 56 // followed a different pattern (in some unusual cases, we could reach this point and the … … 64 64 // Support usage in themes - load this version if no plugin has loaded a version yet. 65 65 if ( did_action( 'plugins_loaded' ) && ! doing_action( 'plugins_loaded' ) && ! class_exists( 'ActionScheduler', false ) ) { 66 action_scheduler_initialize_3_dot_9_dot_ 2(); // WRCS: DEFINED_VERSION.66 action_scheduler_initialize_3_dot_9_dot_3(); // WRCS: DEFINED_VERSION. 67 67 do_action( 'action_scheduler_pre_theme_init' ); 68 68 ActionScheduler_Versions::initialize_latest_version(); -
seo-by-rank-math/tags/1.0.249/vendor/woocommerce/action-scheduler/classes/ActionScheduler_DataController.php
r3194716 r3329028 163 163 } 164 164 165 $wp_object_cache->group_ops = array(); 166 $wp_object_cache->stats = array(); 167 $wp_object_cache->memcache_debug = array(); 168 $wp_object_cache->cache = array(); 165 // Not all drop-ins support these props, however, there may be existing installations that rely on these being cleared. 166 if ( property_exists( $wp_object_cache, 'group_ops' ) ) { 167 $wp_object_cache->group_ops = array(); 168 } 169 if ( property_exists( $wp_object_cache, 'stats' ) ) { 170 $wp_object_cache->stats = array(); 171 } 172 if ( property_exists( $wp_object_cache, 'memcache_debug' ) ) { 173 $wp_object_cache->memcache_debug = array(); 174 } 175 if ( property_exists( $wp_object_cache, 'cache' ) ) { 176 $wp_object_cache->cache = array(); 177 } 169 178 170 179 if ( is_callable( array( $wp_object_cache, '__remoteset' ) ) ) { -
seo-by-rank-math/tags/1.0.249/vendor/woocommerce/action-scheduler/classes/ActionScheduler_wcSystemStatus.php
r2626116 r3329028 77 77 $action = $this->store->query_actions( 78 78 array( 79 'claimed' => false,80 79 'status' => $status, 81 80 'per_page' => 1, -
seo-by-rank-math/tags/1.0.249/vendor/woocommerce/action-scheduler/classes/WP_CLI/Action/Create_Command.php
r3227851 r3329028 2 2 3 3 namespace Action_Scheduler\WP_CLI\Action; 4 5 use function \WP_CLI\Utils\get_flag_value; 4 6 5 7 /** -
seo-by-rank-math/tags/1.0.249/vendor/woocommerce/action-scheduler/classes/WP_CLI/Action/Get_Command.php
r3227851 r3329028 25 25 26 26 $only_logs = ! empty( $this->assoc_args['field'] ) && 'log_entries' === $this->assoc_args['field']; 27 $only_logs = $only_logs || ( ! empty( $this->assoc_args['fields'] && 'log_entries' === $this->assoc_args['fields'] ));27 $only_logs = $only_logs || ( ! empty( $this->assoc_args['fields'] ) && 'log_entries' === $this->assoc_args['fields'] ); 28 28 $log_entries = array(); 29 29 -
seo-by-rank-math/tags/1.0.249/vendor/woocommerce/action-scheduler/classes/WP_CLI/System_Command.php
r3235345 r3329028 263 263 264 264 $args = array( 265 'claimed' => false,266 265 'status' => $status, 267 266 'per_page' => 1, -
seo-by-rank-math/tags/1.0.249/vendor/woocommerce/action-scheduler/classes/abstracts/ActionScheduler.php
r3227851 r3329028 185 185 ActionScheduler_DataController::init(); 186 186 187 $store = self::store(); 188 $logger = self::logger(); 189 $runner = self::runner(); 190 $admin_view = self::admin_view(); 187 $store = self::store(); 188 $logger = self::logger(); 189 $runner = self::runner(); 190 $admin_view = self::admin_view(); 191 $recurring_action_scheduler = new ActionScheduler_RecurringActionScheduler(); 191 192 192 193 // Ensure initialization on plugin activation. … … 197 198 add_action( 'init', array( $logger, 'init' ), 1, 0 ); 198 199 add_action( 'init', array( $runner, 'init' ), 1, 0 ); 200 add_action( 'init', array( $recurring_action_scheduler, 'init' ), 1, 0 ); 199 201 200 202 add_action( … … 224 226 $logger->init(); 225 227 $runner->init(); 228 $recurring_action_scheduler->init(); 226 229 self::$data_store_initialized = true; 227 230 -
seo-by-rank-math/tags/1.0.249/vendor/woocommerce/action-scheduler/classes/abstracts/ActionScheduler_Abstract_QueueRunner.php
r3194716 r3329028 87 87 try { 88 88 try { 89 $valid_action = false; 89 $valid_action = true; 90 90 91 do_action( 'action_scheduler_before_execute', $action_id, $context ); 91 92 92 93 if ( ActionScheduler_Store::STATUS_PENDING !== $this->store->get_status( $action_id ) ) { 94 $valid_action = false; 93 95 do_action( 'action_scheduler_execution_ignored', $action_id, $context ); 94 96 return; 95 97 } 96 98 97 $valid_action = true;98 99 do_action( 'action_scheduler_begin_execute', $action_id, $context ); 99 100 -
seo-by-rank-math/tags/1.0.249/vendor/woocommerce/action-scheduler/classes/data-stores/ActionScheduler_DBStore.php
r3194716 r3329028 932 932 */ 933 933 global $wpdb; 934 935 934 $now = as_get_datetime_object(); 936 935 $date = is_null( $before_date ) ? $now : clone $before_date; 937 // can't use $wpdb->update() because of the <= condition.938 $update = "UPDATE {$wpdb->actionscheduler_actions} SET claim_id=%d, last_attempt_gmt=%s, last_attempt_local=%s";939 $params = array(940 $claim_id,941 $now->format( 'Y-m-d H:i:s' ),942 current_time( 'mysql' ),943 );944 936 945 937 // Set claim filters. … … 955 947 } 956 948 957 $where = 'WHERE claim_id = 0 AND scheduled_date_gmt <= %s AND status=%s'; 958 $params[] = $date->format( 'Y-m-d H:i:s' ); 959 $params[] = self::STATUS_PENDING; 949 $where = 'WHERE claim_id = 0 AND scheduled_date_gmt <= %s AND status=%s'; 950 $where_params = array( 951 $date->format( 'Y-m-d H:i:s' ), 952 self::STATUS_PENDING, 953 ); 960 954 961 955 if ( ! empty( $hooks ) ) { 962 956 $placeholders = array_fill( 0, count( $hooks ), '%s' ); 963 $where .= ' AND hook IN (' . join( ', ', $placeholders ) . ')';964 $ params = array_merge( $params, array_values( $hooks ) );957 $where .= ' AND hook IN (' . join( ', ', $placeholders ) . ')'; 958 $where_params = array_merge( $where_params, array_values( $hooks ) ); 965 959 } 966 960 … … 997 991 * Sets the order-by clause used in the action claim query. 998 992 * 999 * @since 3.4.01000 * @since 3.8.3 Made $claim_id and $hooks available.1001 *1002 993 * @param string $order_by_sql 1003 994 * @param string $claim_id Claim Id. 1004 * @param array $hooks Hooks to filter for. 1005 */ 1006 $order = apply_filters( 'action_scheduler_claim_actions_order_by', 'ORDER BY priority ASC, attempts ASC, scheduled_date_gmt ASC, action_id ASC', $claim_id, $hooks ); 1007 $params[] = $limit; 1008 1009 $sql = $wpdb->prepare( "{$update} {$where} {$order} LIMIT %d", $params ); // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.PreparedSQLPlaceholders 1010 $rows_affected = $wpdb->query( $sql ); // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared, WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching 995 * @param array $hooks Hooks to filter for. 996 * 997 * @since 3.8.3 Made $claim_id and $hooks available. 998 * @since 3.4.0 999 */ 1000 $order = apply_filters( 'action_scheduler_claim_actions_order_by', 'ORDER BY priority ASC, attempts ASC, scheduled_date_gmt ASC, action_id ASC', $claim_id, $hooks ); 1001 $skip_locked = $this->db_supports_skip_locked() ? ' SKIP LOCKED' : ''; 1002 1003 // Selecting the action_ids that we plan to claim, while skipping any locked rows to avoid deadlocking. 1004 $select_sql = $wpdb->prepare( "SELECT action_id from {$wpdb->actionscheduler_actions} {$where} {$order} LIMIT %d FOR UPDATE{$skip_locked}", array_merge( $where_params, array( $limit ) ) ); 1005 1006 // Now place it into an UPDATE statement by joining the result sets, allowing for the SKIP LOCKED behavior to take effect. 1007 $update_sql = "UPDATE {$wpdb->actionscheduler_actions} t1 JOIN ( $select_sql ) t2 ON t1.action_id = t2.action_id SET claim_id=%d, last_attempt_gmt=%s, last_attempt_local=%s"; 1008 $update_params = array( 1009 $claim_id, 1010 $now->format( 'Y-m-d H:i:s' ), 1011 current_time( 'mysql' ), 1012 ); 1013 1014 $rows_affected = $wpdb->query( $wpdb->prepare( $update_sql, $update_params ) ); 1011 1015 if ( false === $rows_affected ) { 1012 1016 $error = empty( $wpdb->last_error ) 1013 1017 ? _x( 'unknown', 'database error', 'action-scheduler' ) 1014 1018 : $wpdb->last_error; 1015 1016 1019 throw new \RuntimeException( 1017 1020 sprintf( … … 1027 1030 1028 1031 /** 1032 * Determines whether the database supports using SKIP LOCKED. This logic mimicks the $wpdb::has_cap() logic. 1033 * 1034 * SKIP_LOCKED support was added to MariaDB in 10.6.0 and to MySQL in 8.0.1 1035 * 1036 * @return bool 1037 */ 1038 private function db_supports_skip_locked() { 1039 global $wpdb; 1040 $db_version = $wpdb->db_version(); 1041 $db_server_info = $wpdb->db_server_info(); 1042 $is_mariadb = ( false !== strpos( $db_server_info, 'MariaDB' ) ); 1043 1044 if ( $is_mariadb && 1045 '5.5.5' === $db_version && 1046 PHP_VERSION_ID < 80016 // PHP 8.0.15 or older. 1047 ) { 1048 /* 1049 * Account for MariaDB version being prefixed with '5.5.5-' on older PHP versions. 1050 */ 1051 $db_server_info = preg_replace( '/^5\.5\.5-(.*)/', '$1', $db_server_info ); 1052 $db_version = preg_replace( '/[^0-9.].*/', '', $db_server_info ); 1053 } 1054 1055 $is_supported = ( $is_mariadb && version_compare( $db_version, '10.6.0', '>=' ) ) || 1056 ( ! $is_mariadb && version_compare( $db_version, '8.0.1', '>=' ) ); 1057 1058 /** 1059 * Filter whether the database supports the SKIP LOCKED modifier for queries. 1060 * 1061 * @param bool $is_supported Whether SKIP LOCKED is supported. 1062 * 1063 * @since 3.9.3 1064 */ 1065 return apply_filters( 'action_scheduler_db_supports_skip_locked', $is_supported ); 1066 } 1067 1068 /** 1029 1069 * Get the number of active claims. 1030 1070 * … … 1095 1135 1096 1136 /** 1097 * Release actions from a claim and delete the claim.1137 * Release pending actions from a claim and delete the claim. 1098 1138 * 1099 1139 * @param ActionScheduler_ActionClaim $claim Claim object. … … 1107 1147 */ 1108 1148 global $wpdb; 1149 1150 if ( 0 === intval( $claim->get_id() ) ) { 1151 // Verify that the claim_id is valid before attempting to release it. 1152 return; 1153 } 1109 1154 1110 1155 /** … … 1114 1159 * 1115 1160 * We resolve this by getting all the actions_id that we want to release claim from in a separate query, and then releasing the claim on each of them. This way, our lock is acquired on the action_id index instead of the claim_id index. Note that the lock on claim_id will still be acquired, but it will only when we actually make the update, rather than when we select the actions. 1116 */ 1117 $action_ids = $wpdb->get_col( $wpdb->prepare( "SELECT action_id FROM {$wpdb->actionscheduler_actions} WHERE claim_id = %d", $claim->get_id() ) ); 1161 * 1162 * We only release pending actions in order for them to be claimed by another process. 1163 */ 1164 $action_ids = $wpdb->get_col( $wpdb->prepare( "SELECT action_id FROM {$wpdb->actionscheduler_actions} WHERE claim_id = %d AND status = %s", $claim->get_id(), self::STATUS_PENDING ) ); 1118 1165 1119 1166 $row_updates = 0; -
seo-by-rank-math/tags/1.0.249/vendor/woocommerce/action-scheduler/classes/data-stores/ActionScheduler_HybridStore.php
r3194716 r3329028 433 433 434 434 /** 435 * Release a claim in the table data store .435 * Release a claim in the table data store on any pending actions. 436 436 * 437 437 * @param ActionScheduler_ActionClaim $claim Claim object. -
seo-by-rank-math/tags/1.0.249/vendor/woocommerce/action-scheduler/classes/data-stores/ActionScheduler_wpPostStore.php
r3194716 r3329028 792 792 793 793 /** 794 * Release claim.794 * Release pending actions from a claim. 795 795 * 796 796 * @param ActionScheduler_ActionClaim $claim Claim object to release. … … 799 799 */ 800 800 public function release_claim( ActionScheduler_ActionClaim $claim ) { 801 $action_ids = $this->find_actions_by_claim_id( $claim->get_id() );802 if ( empty( $action_ids ) ) {803 return; // nothing to do.804 }805 $action_id_string = implode( ',', array_map( 'intval', $action_ids ) );806 801 /** 807 802 * Global wpdb object. … … 810 805 */ 811 806 global $wpdb; 807 808 $claim_id = $claim->get_id(); 809 if ( trim( $claim_id ) === '' ) { 810 // Verify that the claim_id is valid before attempting to release it. 811 return; 812 } 813 814 // Only attempt to release pending actions to be claimed again. Running and complete actions are no longer relevant outside of admin/analytics. 815 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching 816 $action_ids = $wpdb->get_col( 817 $wpdb->prepare( 818 "SELECT ID, post_date_gmt FROM {$wpdb->posts} WHERE post_type = %s AND post_password = %s AND post_status = %s", 819 self::POST_TYPE, 820 $claim_id, 821 self::STATUS_PENDING 822 ) 823 ); 824 825 if ( empty( $action_ids ) ) { 826 return; // nothing to do. 827 } 828 $action_id_string = implode( ',', array_map( 'intval', $action_ids ) ); 812 829 813 830 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching -
seo-by-rank-math/tags/1.0.249/vendor/woocommerce/action-scheduler/classes/schema/ActionScheduler_StoreSchema.php
r3194716 r3329028 21 21 * @var int 22 22 */ 23 protected $schema_version = 7;23 protected $schema_version = 8; 24 24 25 25 /** … … 81 81 KEY group_id (group_id), 82 82 KEY last_attempt_gmt (last_attempt_gmt), 83 KEY `claim_id_status_scheduled_date_gmt` (`claim_id`, `status`, `scheduled_date_gmt`) 83 KEY `claim_id_status_priority_scheduled_date_gmt` (`claim_id`,`status`,`priority`,`scheduled_date_gmt`), 84 KEY `status_last_attempt_gmt` (`status`,`last_attempt_gmt`), 85 KEY `status_claim_id` (`status`,`claim_id`) 84 86 ) $charset_collate"; 85 87 -
seo-by-rank-math/tags/1.0.249/vendor/woocommerce/action-scheduler/functions.php
r3194716 r3329028 87 87 * @param string $group Action group. 88 88 * @param int $priorities Action priority. 89 * @param bool $unique Unique action. 89 90 */ 90 $pre = apply_filters( 'pre_as_schedule_single_action', null, $timestamp, $hook, $args, $group, $priority );91 $pre = apply_filters( 'pre_as_schedule_single_action', null, $timestamp, $hook, $args, $group, $priority, $unique ); 91 92 if ( null !== $pre ) { 92 93 return is_int( $pre ) ? $pre : 0; … … 160 161 * @param string $group Action group. 161 162 * @param int $priority Action priority. 163 * @param bool $unique Unique action. 162 164 */ 163 $pre = apply_filters( 'pre_as_schedule_recurring_action', null, $timestamp, $interval_in_seconds, $hook, $args, $group, $priority );165 $pre = apply_filters( 'pre_as_schedule_recurring_action', null, $timestamp, $interval_in_seconds, $hook, $args, $group, $priority, $unique ); 164 166 if ( null !== $pre ) { 165 167 return is_int( $pre ) ? $pre : 0; … … 226 228 * @param string $group Action group. 227 229 * @param int $priority Action priority. 230 * @param bool $unique Unique action. 228 231 */ 229 $pre = apply_filters( 'pre_as_schedule_cron_action', null, $timestamp, $schedule, $hook, $args, $group, $priority );232 $pre = apply_filters( 'pre_as_schedule_cron_action', null, $timestamp, $schedule, $hook, $args, $group, $priority, $unique ); 230 233 if ( null !== $pre ) { 231 234 return is_int( $pre ) ? $pre : 0; … … 494 497 return $date; 495 498 } 499 500 /** 501 * Check if a specific feature is supported by the current version of Action Scheduler. 502 * 503 * @since 3.9.3 504 * 505 * @param string $feature The feature to check support for. 506 * 507 * @return bool True if the feature is supported, false otherwise. 508 */ 509 function as_supports( string $feature ): bool { 510 $supported_features = array( 'ensure_recurring_actions_hook' ); 511 512 return in_array( $feature, $supported_features, true ); 513 } -
seo-by-rank-math/trunk/includes/helpers/class-wordpress.php
r3313761 r3329028 765 765 add_filter( 'wp_check_filetype_and_ext', [ __CLASS__, 'filetype_and_ext' ], 10, 3 ); 766 766 767 // Do the upload. 768 $file = isset( $_FILES['import-me'] ) 769 ? wp_handle_upload( $_FILES['import-me'], [ 'test_form' => false ] ) 770 : new WP_Error( 'missing_file', __( 'No file selected for upload.', 'rank-math' ) ); 767 if ( isset( $_FILES['import-me'] ) ) { 768 // Do the upload. 769 if ( ! function_exists( 'wp_handle_upload' ) ) { 770 $required_file = ABSPATH . 'wp-admin/includes/file.php'; 771 if ( file_exists( $required_file ) ) { 772 require_once $required_file; // @phpstan-ignore-line 773 } 774 } 775 $file = wp_handle_upload( $_FILES['import-me'], [ 'test_form' => false ] ); 776 } else { 777 $file = new WP_Error( 'missing_file', __( 'No file selected for upload.', 'rank-math' ) ); 778 } 771 779 772 780 // Remove upload hooks. -
seo-by-rank-math/trunk/includes/modules/buddypress/class-buddypress.php
r3318065 r3329028 86 86 '@type' => 'Person', 87 87 'name' => get_the_author_meta( 'display_name', $user_id ), 88 'url' => esc_url( bp_members_get_user_url( $user_id ) ),88 'url' => function_exists( 'bp_members_get_user_url' ) ? esc_url( bp_members_get_user_url( $user_id ) ) : esc_url( bp_core_get_user_domain( $user_id ) ), 89 89 'description' => get_the_author_meta( 'description', $user_id ), 90 90 'image' => [ -
seo-by-rank-math/trunk/languages/rank-math.pot
r3324705 r3329028 3 3 msgid "" 4 4 msgstr "" 5 "Project-Id-Version: Rank Math SEO 1.0.249 -beta\n"5 "Project-Id-Version: Rank Math SEO 1.0.249\n" 6 6 "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/seo-by-rank-math\n" 7 7 "Last-Translator: Rank Math <support@rankmath.com>\n" … … 10 10 "Content-Type: text/plain; charset=UTF-8\n" 11 11 "Content-Transfer-Encoding: 8bit\n" 12 "POT-Creation-Date: 2025-07- 09T05:57:48+00:00\n"12 "POT-Creation-Date: 2025-07-16T05:14:55+00:00\n" 13 13 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 14 14 "X-Generator: WP-CLI 2.12.0\n" -
seo-by-rank-math/trunk/rank-math.php
r3324705 r3329028 10 10 * @wordpress-plugin 11 11 * Plugin Name: Rank Math SEO 12 * Version: 1.0.249 -beta12 * Version: 1.0.249 13 13 * Plugin URI: https://rankmath.com/ 14 14 * Description: Rank Math SEO is the Best WordPress SEO plugin with the features of many SEO and AI SEO tools in a single package to help multiply your SEO traffic. … … 35 35 * @var string 36 36 */ 37 public $version = '1.0.249 -beta';37 public $version = '1.0.249'; 38 38 39 39 /** -
seo-by-rank-math/trunk/readme.txt
r3321531 r3329028 6 6 Requires at least: 6.3 7 7 Requires PHP: 7.4 8 Stable tag: 1.0.24 88 Stable tag: 1.0.249 9 9 License: GPLv3 or later 10 10 License URI: https://www.gnu.org/licenses/gpl-3.0.txt … … 340 340 == Changelog == 341 341 342 = 1.0.248 [July 03, 2025] = 343 - Added: [Filter](https://rankmath.com/kb/filters-hooks-api-developer/#remove-target-blank-attribute) to exclude certain domains from the [Open External Links in New Tab](https://rankmath.com/kb/open-links-in-new-window/) option 344 - Added: [Filter](https://rankmath.com/kb/filters-hooks-api-developer/#html-sitemap-post-limit) to set a hard limit on the posts displayed in the HTML sitemap, defaults to 1000 posts 345 - Improved: Changed the [Analytics](https://rankmath.com/kb/analytics/) data fetch frequency from 7 days to 3 days to show fresher data sooner in the Stats 346 - Improved: Site getting automatically disconnected from Analytics will now attempt to reconnect in the background, and if that fails, a notice will prompt the user to reconnect manually 347 - Improved: [Analytics URL Inspection](https://rankmath.com/kb/url-inspection-api-integration/) now prioritizes fetching high-traffic pages before other pages 348 - Fixed: Incorrect [Post Analytics stats](https://rankmath.com/kb/analytics/#post-analytics) shown for secondary language posts when the sub-directory option is enabled in the WPML plugin 349 - Fixed: PHP warning on the [Database Tools page](https://rankmath.com/kb/rank-math-status-and-tools/#database-tools) when WPML plugin is not active 350 - Fixed: Deprecated PHP warning on the BuddyPress author page 351 - Fixed: Deprecated warnings shown in the browser inspect on the [Setup Wizard page](https://rankmath.com/kb/how-to-setup/) 342 = 1.0.249 [July 16, 2025] = 343 - Improved: Updated the [Links modal](https://rankmath.com/kb/should-you-nofollow-external-links/) UI to align with WordPress styling 344 - Improved: Optimized database queries in the [Analytics module](https://rankmath.com/kb/analytics) running in background processes 345 - Improved: Added site notice for failed Analytics data fetch due to any reason 346 - Fixed: [Focus Keyword in Image Alt attributes test](https://rankmath.com/kb/score-100-in-tests/#focus-keyword-in-image-alt-attributes-primary-focus-keyword-only) was failing when content had no spaces 347 - Fixed: [Content Analysis tests](https://rankmath.com/kb/content-analysis-tests-for-product-pages/) were not updating in the Classic editor after switching from Text to Visual mode 348 - Fixed: Attachment name and description were not updating on some sites with [Content AI module](https://rankmath.com/kb/how-to-use-content-ai/) active 349 - Fixed: PHP error on BuddyPress Members page when BuddyBoss is active on the site 352 350 353 351 Full changelog can be found here - **[Rank Math changelog](https://rankmath.com/changelog/?utm_source=Plugin&utm_medium=Changelog&utm_campaign=WP)** -
seo-by-rank-math/trunk/vendor/autoload.php
r3324705 r3329028 23 23 require_once __DIR__ . '/composer/autoload_real.php'; 24 24 25 return ComposerAutoloaderInit 45563e877daef92451ad455ea7d3b867::getLoader();25 return ComposerAutoloaderInitbdd6a2e1f666e8489d5ea142b6f29e76::getLoader(); -
seo-by-rank-math/trunk/vendor/composer/autoload_real.php
r3324705 r3329028 3 3 // autoload_real.php @generated by Composer 4 4 5 class ComposerAutoloaderInit 45563e877daef92451ad455ea7d3b8675 class ComposerAutoloaderInitbdd6a2e1f666e8489d5ea142b6f29e76 6 6 { 7 7 private static $loader; … … 25 25 require __DIR__ . '/platform_check.php'; 26 26 27 spl_autoload_register(array('ComposerAutoloaderInit 45563e877daef92451ad455ea7d3b867', 'loadClassLoader'), true, true);27 spl_autoload_register(array('ComposerAutoloaderInitbdd6a2e1f666e8489d5ea142b6f29e76', 'loadClassLoader'), true, true); 28 28 self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__)); 29 spl_autoload_unregister(array('ComposerAutoloaderInit 45563e877daef92451ad455ea7d3b867', 'loadClassLoader'));29 spl_autoload_unregister(array('ComposerAutoloaderInitbdd6a2e1f666e8489d5ea142b6f29e76', 'loadClassLoader')); 30 30 31 31 require __DIR__ . '/autoload_static.php'; 32 call_user_func(\Composer\Autoload\ComposerStaticInit 45563e877daef92451ad455ea7d3b867::getInitializer($loader));32 call_user_func(\Composer\Autoload\ComposerStaticInitbdd6a2e1f666e8489d5ea142b6f29e76::getInitializer($loader)); 33 33 34 34 $loader->register(true); 35 35 36 $includeFiles = \Composer\Autoload\ComposerStaticInit 45563e877daef92451ad455ea7d3b867::$files;36 $includeFiles = \Composer\Autoload\ComposerStaticInitbdd6a2e1f666e8489d5ea142b6f29e76::$files; 37 37 foreach ($includeFiles as $fileIdentifier => $file) { 38 composerRequire 45563e877daef92451ad455ea7d3b867($fileIdentifier, $file);38 composerRequirebdd6a2e1f666e8489d5ea142b6f29e76($fileIdentifier, $file); 39 39 } 40 40 … … 48 48 * @return void 49 49 */ 50 function composerRequire 45563e877daef92451ad455ea7d3b867($fileIdentifier, $file)50 function composerRequirebdd6a2e1f666e8489d5ea142b6f29e76($fileIdentifier, $file) 51 51 { 52 52 if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { -
seo-by-rank-math/trunk/vendor/composer/autoload_static.php
r3324705 r3329028 5 5 namespace Composer\Autoload; 6 6 7 class ComposerStaticInit 45563e877daef92451ad455ea7d3b8677 class ComposerStaticInitbdd6a2e1f666e8489d5ea142b6f29e76 8 8 { 9 9 public static $files = array ( … … 397 397 { 398 398 return \Closure::bind(function () use ($loader) { 399 $loader->prefixLengthsPsr4 = ComposerStaticInit 45563e877daef92451ad455ea7d3b867::$prefixLengthsPsr4;400 $loader->prefixDirsPsr4 = ComposerStaticInit 45563e877daef92451ad455ea7d3b867::$prefixDirsPsr4;401 $loader->classMap = ComposerStaticInit 45563e877daef92451ad455ea7d3b867::$classMap;399 $loader->prefixLengthsPsr4 = ComposerStaticInitbdd6a2e1f666e8489d5ea142b6f29e76::$prefixLengthsPsr4; 400 $loader->prefixDirsPsr4 = ComposerStaticInitbdd6a2e1f666e8489d5ea142b6f29e76::$prefixDirsPsr4; 401 $loader->classMap = ComposerStaticInitbdd6a2e1f666e8489d5ea142b6f29e76::$classMap; 402 402 403 403 }, null, ClassLoader::class); -
seo-by-rank-math/trunk/vendor/composer/installed.json
r3235345 r3329028 241 241 { 242 242 "name": "woocommerce/action-scheduler", 243 "version": "3.9. 2",244 "version_normalized": "3.9. 2.0",243 "version": "3.9.3", 244 "version_normalized": "3.9.3.0", 245 245 "source": { 246 246 "type": "git", 247 247 "url": "https://github.com/woocommerce/action-scheduler.git", 248 "reference": " efbb7953f72a433086335b249292f280dd43ddfe"249 }, 250 "dist": { 251 "type": "zip", 252 "url": "https://api.github.com/repos/woocommerce/action-scheduler/zipball/ efbb7953f72a433086335b249292f280dd43ddfe",253 "reference": " efbb7953f72a433086335b249292f280dd43ddfe",254 "shasum": "" 255 }, 256 "require": { 257 "php": ">=7. 1"258 }, 259 "require-dev": { 260 "phpunit/phpunit": "^ 7.5",248 "reference": "c58cdbab17651303d406cd3b22cf9d75c71c986c" 249 }, 250 "dist": { 251 "type": "zip", 252 "url": "https://api.github.com/repos/woocommerce/action-scheduler/zipball/c58cdbab17651303d406cd3b22cf9d75c71c986c", 253 "reference": "c58cdbab17651303d406cd3b22cf9d75c71c986c", 254 "shasum": "" 255 }, 256 "require": { 257 "php": ">=7.2" 258 }, 259 "require-dev": { 260 "phpunit/phpunit": "^8.5", 261 261 "woocommerce/woocommerce-sniffs": "0.1.0", 262 262 "wp-cli/wp-cli": "~2.5.0", 263 263 "yoast/phpunit-polyfills": "^2.0" 264 264 }, 265 "time": "2025-0 2-03T09:09:30+00:00",265 "time": "2025-07-15T09:32:30+00:00", 266 266 "type": "wordpress-plugin", 267 267 "extra": { … … 281 281 "support": { 282 282 "issues": "https://github.com/woocommerce/action-scheduler/issues", 283 "source": "https://github.com/woocommerce/action-scheduler/tree/3.9. 2"283 "source": "https://github.com/woocommerce/action-scheduler/tree/3.9.3" 284 284 }, 285 285 "install-path": "../woocommerce/action-scheduler" -
seo-by-rank-math/trunk/vendor/composer/installed.php
r3324705 r3329028 2 2 'root' => array( 3 3 'name' => 'rankmath/seo-by-rank-math', 4 'pretty_version' => 'v1.0.249 -beta',5 'version' => '1.0.249.0 -beta',6 'reference' => ' 506592f3cf85dd265adc9bdc78101cafd48f0175',4 'pretty_version' => 'v1.0.249', 5 'version' => '1.0.249.0', 6 'reference' => 'eacee31c09f6fa9018cec0b6b71972eb7ec35880', 7 7 'type' => 'wordpress-plugin', 8 8 'install_path' => __DIR__ . '/../../', … … 48 48 ), 49 49 'rankmath/seo-by-rank-math' => array( 50 'pretty_version' => 'v1.0.249 -beta',51 'version' => '1.0.249.0 -beta',52 'reference' => ' 506592f3cf85dd265adc9bdc78101cafd48f0175',50 'pretty_version' => 'v1.0.249', 51 'version' => '1.0.249.0', 52 'reference' => 'eacee31c09f6fa9018cec0b6b71972eb7ec35880', 53 53 'type' => 'wordpress-plugin', 54 54 'install_path' => __DIR__ . '/../../', … … 57 57 ), 58 58 'woocommerce/action-scheduler' => array( 59 'pretty_version' => '3.9. 2',60 'version' => '3.9. 2.0',61 'reference' => ' efbb7953f72a433086335b249292f280dd43ddfe',59 'pretty_version' => '3.9.3', 60 'version' => '3.9.3.0', 61 'reference' => 'c58cdbab17651303d406cd3b22cf9d75c71c986c', 62 62 'type' => 'wordpress-plugin', 63 63 'install_path' => __DIR__ . '/../woocommerce/action-scheduler', -
seo-by-rank-math/trunk/vendor/woocommerce/action-scheduler/action-scheduler.php
r3235345 r3329028 6 6 * Author: Automattic 7 7 * Author URI: https://automattic.com/ 8 * Version: 3.9. 28 * Version: 3.9.3 9 9 * License: GPLv3 10 10 * Requires at least: 6.5 11 * Tested up to: 6. 712 * Requires PHP: 7. 111 * Tested up to: 6.8 12 * Requires PHP: 7.2 13 13 * 14 14 * Copyright 2019 Automattic, Inc. (https://automattic.com/contact/) … … 30 30 */ 31 31 32 if ( ! function_exists( 'action_scheduler_register_3_dot_9_dot_ 2' ) && function_exists( 'add_action' ) ) { // WRCS: DEFINED_VERSION.32 if ( ! function_exists( 'action_scheduler_register_3_dot_9_dot_3' ) && function_exists( 'add_action' ) ) { // WRCS: DEFINED_VERSION. 33 33 34 34 if ( ! class_exists( 'ActionScheduler_Versions', false ) ) { … … 37 37 } 38 38 39 add_action( 'plugins_loaded', 'action_scheduler_register_3_dot_9_dot_ 2', 0, 0 ); // WRCS: DEFINED_VERSION.39 add_action( 'plugins_loaded', 'action_scheduler_register_3_dot_9_dot_3', 0, 0 ); // WRCS: DEFINED_VERSION. 40 40 41 41 // phpcs:disable Generic.Functions.OpeningFunctionBraceKernighanRitchie.ContentAfterBrace … … 43 43 * Registers this version of Action Scheduler. 44 44 */ 45 function action_scheduler_register_3_dot_9_dot_ 2() { // WRCS: DEFINED_VERSION.45 function action_scheduler_register_3_dot_9_dot_3() { // WRCS: DEFINED_VERSION. 46 46 $versions = ActionScheduler_Versions::instance(); 47 $versions->register( '3.9. 2', 'action_scheduler_initialize_3_dot_9_dot_2' ); // WRCS: DEFINED_VERSION.47 $versions->register( '3.9.3', 'action_scheduler_initialize_3_dot_9_dot_3' ); // WRCS: DEFINED_VERSION. 48 48 } 49 49 … … 52 52 * Initializes this version of Action Scheduler. 53 53 */ 54 function action_scheduler_initialize_3_dot_9_dot_ 2() { // WRCS: DEFINED_VERSION.54 function action_scheduler_initialize_3_dot_9_dot_3() { // WRCS: DEFINED_VERSION. 55 55 // A final safety check is required even here, because historic versions of Action Scheduler 56 56 // followed a different pattern (in some unusual cases, we could reach this point and the … … 64 64 // Support usage in themes - load this version if no plugin has loaded a version yet. 65 65 if ( did_action( 'plugins_loaded' ) && ! doing_action( 'plugins_loaded' ) && ! class_exists( 'ActionScheduler', false ) ) { 66 action_scheduler_initialize_3_dot_9_dot_ 2(); // WRCS: DEFINED_VERSION.66 action_scheduler_initialize_3_dot_9_dot_3(); // WRCS: DEFINED_VERSION. 67 67 do_action( 'action_scheduler_pre_theme_init' ); 68 68 ActionScheduler_Versions::initialize_latest_version(); -
seo-by-rank-math/trunk/vendor/woocommerce/action-scheduler/classes/ActionScheduler_DataController.php
r3194716 r3329028 163 163 } 164 164 165 $wp_object_cache->group_ops = array(); 166 $wp_object_cache->stats = array(); 167 $wp_object_cache->memcache_debug = array(); 168 $wp_object_cache->cache = array(); 165 // Not all drop-ins support these props, however, there may be existing installations that rely on these being cleared. 166 if ( property_exists( $wp_object_cache, 'group_ops' ) ) { 167 $wp_object_cache->group_ops = array(); 168 } 169 if ( property_exists( $wp_object_cache, 'stats' ) ) { 170 $wp_object_cache->stats = array(); 171 } 172 if ( property_exists( $wp_object_cache, 'memcache_debug' ) ) { 173 $wp_object_cache->memcache_debug = array(); 174 } 175 if ( property_exists( $wp_object_cache, 'cache' ) ) { 176 $wp_object_cache->cache = array(); 177 } 169 178 170 179 if ( is_callable( array( $wp_object_cache, '__remoteset' ) ) ) { -
seo-by-rank-math/trunk/vendor/woocommerce/action-scheduler/classes/ActionScheduler_wcSystemStatus.php
r2626116 r3329028 77 77 $action = $this->store->query_actions( 78 78 array( 79 'claimed' => false,80 79 'status' => $status, 81 80 'per_page' => 1, -
seo-by-rank-math/trunk/vendor/woocommerce/action-scheduler/classes/WP_CLI/Action/Create_Command.php
r3227851 r3329028 2 2 3 3 namespace Action_Scheduler\WP_CLI\Action; 4 5 use function \WP_CLI\Utils\get_flag_value; 4 6 5 7 /** -
seo-by-rank-math/trunk/vendor/woocommerce/action-scheduler/classes/WP_CLI/Action/Get_Command.php
r3227851 r3329028 25 25 26 26 $only_logs = ! empty( $this->assoc_args['field'] ) && 'log_entries' === $this->assoc_args['field']; 27 $only_logs = $only_logs || ( ! empty( $this->assoc_args['fields'] && 'log_entries' === $this->assoc_args['fields'] ));27 $only_logs = $only_logs || ( ! empty( $this->assoc_args['fields'] ) && 'log_entries' === $this->assoc_args['fields'] ); 28 28 $log_entries = array(); 29 29 -
seo-by-rank-math/trunk/vendor/woocommerce/action-scheduler/classes/WP_CLI/System_Command.php
r3235345 r3329028 263 263 264 264 $args = array( 265 'claimed' => false,266 265 'status' => $status, 267 266 'per_page' => 1, -
seo-by-rank-math/trunk/vendor/woocommerce/action-scheduler/classes/abstracts/ActionScheduler.php
r3227851 r3329028 185 185 ActionScheduler_DataController::init(); 186 186 187 $store = self::store(); 188 $logger = self::logger(); 189 $runner = self::runner(); 190 $admin_view = self::admin_view(); 187 $store = self::store(); 188 $logger = self::logger(); 189 $runner = self::runner(); 190 $admin_view = self::admin_view(); 191 $recurring_action_scheduler = new ActionScheduler_RecurringActionScheduler(); 191 192 192 193 // Ensure initialization on plugin activation. … … 197 198 add_action( 'init', array( $logger, 'init' ), 1, 0 ); 198 199 add_action( 'init', array( $runner, 'init' ), 1, 0 ); 200 add_action( 'init', array( $recurring_action_scheduler, 'init' ), 1, 0 ); 199 201 200 202 add_action( … … 224 226 $logger->init(); 225 227 $runner->init(); 228 $recurring_action_scheduler->init(); 226 229 self::$data_store_initialized = true; 227 230 -
seo-by-rank-math/trunk/vendor/woocommerce/action-scheduler/classes/abstracts/ActionScheduler_Abstract_QueueRunner.php
r3194716 r3329028 87 87 try { 88 88 try { 89 $valid_action = false; 89 $valid_action = true; 90 90 91 do_action( 'action_scheduler_before_execute', $action_id, $context ); 91 92 92 93 if ( ActionScheduler_Store::STATUS_PENDING !== $this->store->get_status( $action_id ) ) { 94 $valid_action = false; 93 95 do_action( 'action_scheduler_execution_ignored', $action_id, $context ); 94 96 return; 95 97 } 96 98 97 $valid_action = true;98 99 do_action( 'action_scheduler_begin_execute', $action_id, $context ); 99 100 -
seo-by-rank-math/trunk/vendor/woocommerce/action-scheduler/classes/data-stores/ActionScheduler_DBStore.php
r3194716 r3329028 932 932 */ 933 933 global $wpdb; 934 935 934 $now = as_get_datetime_object(); 936 935 $date = is_null( $before_date ) ? $now : clone $before_date; 937 // can't use $wpdb->update() because of the <= condition.938 $update = "UPDATE {$wpdb->actionscheduler_actions} SET claim_id=%d, last_attempt_gmt=%s, last_attempt_local=%s";939 $params = array(940 $claim_id,941 $now->format( 'Y-m-d H:i:s' ),942 current_time( 'mysql' ),943 );944 936 945 937 // Set claim filters. … … 955 947 } 956 948 957 $where = 'WHERE claim_id = 0 AND scheduled_date_gmt <= %s AND status=%s'; 958 $params[] = $date->format( 'Y-m-d H:i:s' ); 959 $params[] = self::STATUS_PENDING; 949 $where = 'WHERE claim_id = 0 AND scheduled_date_gmt <= %s AND status=%s'; 950 $where_params = array( 951 $date->format( 'Y-m-d H:i:s' ), 952 self::STATUS_PENDING, 953 ); 960 954 961 955 if ( ! empty( $hooks ) ) { 962 956 $placeholders = array_fill( 0, count( $hooks ), '%s' ); 963 $where .= ' AND hook IN (' . join( ', ', $placeholders ) . ')';964 $ params = array_merge( $params, array_values( $hooks ) );957 $where .= ' AND hook IN (' . join( ', ', $placeholders ) . ')'; 958 $where_params = array_merge( $where_params, array_values( $hooks ) ); 965 959 } 966 960 … … 997 991 * Sets the order-by clause used in the action claim query. 998 992 * 999 * @since 3.4.01000 * @since 3.8.3 Made $claim_id and $hooks available.1001 *1002 993 * @param string $order_by_sql 1003 994 * @param string $claim_id Claim Id. 1004 * @param array $hooks Hooks to filter for. 1005 */ 1006 $order = apply_filters( 'action_scheduler_claim_actions_order_by', 'ORDER BY priority ASC, attempts ASC, scheduled_date_gmt ASC, action_id ASC', $claim_id, $hooks ); 1007 $params[] = $limit; 1008 1009 $sql = $wpdb->prepare( "{$update} {$where} {$order} LIMIT %d", $params ); // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.PreparedSQLPlaceholders 1010 $rows_affected = $wpdb->query( $sql ); // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared, WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching 995 * @param array $hooks Hooks to filter for. 996 * 997 * @since 3.8.3 Made $claim_id and $hooks available. 998 * @since 3.4.0 999 */ 1000 $order = apply_filters( 'action_scheduler_claim_actions_order_by', 'ORDER BY priority ASC, attempts ASC, scheduled_date_gmt ASC, action_id ASC', $claim_id, $hooks ); 1001 $skip_locked = $this->db_supports_skip_locked() ? ' SKIP LOCKED' : ''; 1002 1003 // Selecting the action_ids that we plan to claim, while skipping any locked rows to avoid deadlocking. 1004 $select_sql = $wpdb->prepare( "SELECT action_id from {$wpdb->actionscheduler_actions} {$where} {$order} LIMIT %d FOR UPDATE{$skip_locked}", array_merge( $where_params, array( $limit ) ) ); 1005 1006 // Now place it into an UPDATE statement by joining the result sets, allowing for the SKIP LOCKED behavior to take effect. 1007 $update_sql = "UPDATE {$wpdb->actionscheduler_actions} t1 JOIN ( $select_sql ) t2 ON t1.action_id = t2.action_id SET claim_id=%d, last_attempt_gmt=%s, last_attempt_local=%s"; 1008 $update_params = array( 1009 $claim_id, 1010 $now->format( 'Y-m-d H:i:s' ), 1011 current_time( 'mysql' ), 1012 ); 1013 1014 $rows_affected = $wpdb->query( $wpdb->prepare( $update_sql, $update_params ) ); 1011 1015 if ( false === $rows_affected ) { 1012 1016 $error = empty( $wpdb->last_error ) 1013 1017 ? _x( 'unknown', 'database error', 'action-scheduler' ) 1014 1018 : $wpdb->last_error; 1015 1016 1019 throw new \RuntimeException( 1017 1020 sprintf( … … 1027 1030 1028 1031 /** 1032 * Determines whether the database supports using SKIP LOCKED. This logic mimicks the $wpdb::has_cap() logic. 1033 * 1034 * SKIP_LOCKED support was added to MariaDB in 10.6.0 and to MySQL in 8.0.1 1035 * 1036 * @return bool 1037 */ 1038 private function db_supports_skip_locked() { 1039 global $wpdb; 1040 $db_version = $wpdb->db_version(); 1041 $db_server_info = $wpdb->db_server_info(); 1042 $is_mariadb = ( false !== strpos( $db_server_info, 'MariaDB' ) ); 1043 1044 if ( $is_mariadb && 1045 '5.5.5' === $db_version && 1046 PHP_VERSION_ID < 80016 // PHP 8.0.15 or older. 1047 ) { 1048 /* 1049 * Account for MariaDB version being prefixed with '5.5.5-' on older PHP versions. 1050 */ 1051 $db_server_info = preg_replace( '/^5\.5\.5-(.*)/', '$1', $db_server_info ); 1052 $db_version = preg_replace( '/[^0-9.].*/', '', $db_server_info ); 1053 } 1054 1055 $is_supported = ( $is_mariadb && version_compare( $db_version, '10.6.0', '>=' ) ) || 1056 ( ! $is_mariadb && version_compare( $db_version, '8.0.1', '>=' ) ); 1057 1058 /** 1059 * Filter whether the database supports the SKIP LOCKED modifier for queries. 1060 * 1061 * @param bool $is_supported Whether SKIP LOCKED is supported. 1062 * 1063 * @since 3.9.3 1064 */ 1065 return apply_filters( 'action_scheduler_db_supports_skip_locked', $is_supported ); 1066 } 1067 1068 /** 1029 1069 * Get the number of active claims. 1030 1070 * … … 1095 1135 1096 1136 /** 1097 * Release actions from a claim and delete the claim.1137 * Release pending actions from a claim and delete the claim. 1098 1138 * 1099 1139 * @param ActionScheduler_ActionClaim $claim Claim object. … … 1107 1147 */ 1108 1148 global $wpdb; 1149 1150 if ( 0 === intval( $claim->get_id() ) ) { 1151 // Verify that the claim_id is valid before attempting to release it. 1152 return; 1153 } 1109 1154 1110 1155 /** … … 1114 1159 * 1115 1160 * We resolve this by getting all the actions_id that we want to release claim from in a separate query, and then releasing the claim on each of them. This way, our lock is acquired on the action_id index instead of the claim_id index. Note that the lock on claim_id will still be acquired, but it will only when we actually make the update, rather than when we select the actions. 1116 */ 1117 $action_ids = $wpdb->get_col( $wpdb->prepare( "SELECT action_id FROM {$wpdb->actionscheduler_actions} WHERE claim_id = %d", $claim->get_id() ) ); 1161 * 1162 * We only release pending actions in order for them to be claimed by another process. 1163 */ 1164 $action_ids = $wpdb->get_col( $wpdb->prepare( "SELECT action_id FROM {$wpdb->actionscheduler_actions} WHERE claim_id = %d AND status = %s", $claim->get_id(), self::STATUS_PENDING ) ); 1118 1165 1119 1166 $row_updates = 0; -
seo-by-rank-math/trunk/vendor/woocommerce/action-scheduler/classes/data-stores/ActionScheduler_HybridStore.php
r3194716 r3329028 433 433 434 434 /** 435 * Release a claim in the table data store .435 * Release a claim in the table data store on any pending actions. 436 436 * 437 437 * @param ActionScheduler_ActionClaim $claim Claim object. -
seo-by-rank-math/trunk/vendor/woocommerce/action-scheduler/classes/data-stores/ActionScheduler_wpPostStore.php
r3194716 r3329028 792 792 793 793 /** 794 * Release claim.794 * Release pending actions from a claim. 795 795 * 796 796 * @param ActionScheduler_ActionClaim $claim Claim object to release. … … 799 799 */ 800 800 public function release_claim( ActionScheduler_ActionClaim $claim ) { 801 $action_ids = $this->find_actions_by_claim_id( $claim->get_id() );802 if ( empty( $action_ids ) ) {803 return; // nothing to do.804 }805 $action_id_string = implode( ',', array_map( 'intval', $action_ids ) );806 801 /** 807 802 * Global wpdb object. … … 810 805 */ 811 806 global $wpdb; 807 808 $claim_id = $claim->get_id(); 809 if ( trim( $claim_id ) === '' ) { 810 // Verify that the claim_id is valid before attempting to release it. 811 return; 812 } 813 814 // Only attempt to release pending actions to be claimed again. Running and complete actions are no longer relevant outside of admin/analytics. 815 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching 816 $action_ids = $wpdb->get_col( 817 $wpdb->prepare( 818 "SELECT ID, post_date_gmt FROM {$wpdb->posts} WHERE post_type = %s AND post_password = %s AND post_status = %s", 819 self::POST_TYPE, 820 $claim_id, 821 self::STATUS_PENDING 822 ) 823 ); 824 825 if ( empty( $action_ids ) ) { 826 return; // nothing to do. 827 } 828 $action_id_string = implode( ',', array_map( 'intval', $action_ids ) ); 812 829 813 830 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching -
seo-by-rank-math/trunk/vendor/woocommerce/action-scheduler/classes/schema/ActionScheduler_StoreSchema.php
r3194716 r3329028 21 21 * @var int 22 22 */ 23 protected $schema_version = 7;23 protected $schema_version = 8; 24 24 25 25 /** … … 81 81 KEY group_id (group_id), 82 82 KEY last_attempt_gmt (last_attempt_gmt), 83 KEY `claim_id_status_scheduled_date_gmt` (`claim_id`, `status`, `scheduled_date_gmt`) 83 KEY `claim_id_status_priority_scheduled_date_gmt` (`claim_id`,`status`,`priority`,`scheduled_date_gmt`), 84 KEY `status_last_attempt_gmt` (`status`,`last_attempt_gmt`), 85 KEY `status_claim_id` (`status`,`claim_id`) 84 86 ) $charset_collate"; 85 87 -
seo-by-rank-math/trunk/vendor/woocommerce/action-scheduler/functions.php
r3194716 r3329028 87 87 * @param string $group Action group. 88 88 * @param int $priorities Action priority. 89 * @param bool $unique Unique action. 89 90 */ 90 $pre = apply_filters( 'pre_as_schedule_single_action', null, $timestamp, $hook, $args, $group, $priority );91 $pre = apply_filters( 'pre_as_schedule_single_action', null, $timestamp, $hook, $args, $group, $priority, $unique ); 91 92 if ( null !== $pre ) { 92 93 return is_int( $pre ) ? $pre : 0; … … 160 161 * @param string $group Action group. 161 162 * @param int $priority Action priority. 163 * @param bool $unique Unique action. 162 164 */ 163 $pre = apply_filters( 'pre_as_schedule_recurring_action', null, $timestamp, $interval_in_seconds, $hook, $args, $group, $priority );165 $pre = apply_filters( 'pre_as_schedule_recurring_action', null, $timestamp, $interval_in_seconds, $hook, $args, $group, $priority, $unique ); 164 166 if ( null !== $pre ) { 165 167 return is_int( $pre ) ? $pre : 0; … … 226 228 * @param string $group Action group. 227 229 * @param int $priority Action priority. 230 * @param bool $unique Unique action. 228 231 */ 229 $pre = apply_filters( 'pre_as_schedule_cron_action', null, $timestamp, $schedule, $hook, $args, $group, $priority );232 $pre = apply_filters( 'pre_as_schedule_cron_action', null, $timestamp, $schedule, $hook, $args, $group, $priority, $unique ); 230 233 if ( null !== $pre ) { 231 234 return is_int( $pre ) ? $pre : 0; … … 494 497 return $date; 495 498 } 499 500 /** 501 * Check if a specific feature is supported by the current version of Action Scheduler. 502 * 503 * @since 3.9.3 504 * 505 * @param string $feature The feature to check support for. 506 * 507 * @return bool True if the feature is supported, false otherwise. 508 */ 509 function as_supports( string $feature ): bool { 510 $supported_features = array( 'ensure_recurring_actions_hook' ); 511 512 return in_array( $feature, $supported_features, true ); 513 }
Note: See TracChangeset
for help on using the changeset viewer.