Skip to content

Commit fc503a2

Browse files
authored
Merge pull request #4 from a8cteam51/fix/flush-rewrites
Fix: Defer rewrite rules flush until after init hook
2 parents 6b98231 + 8eebc6b commit fc503a2

File tree

4 files changed

+26
-7
lines changed

4 files changed

+26
-7
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
**Requires at least:** 6.5
66
**Tested up to:** 6.5
77
**Requires PHP:** 8.3
8-
**Stable tag:** 1.0.0
8+
**Stable tag:** 1.0.4
99
**License:** GPLv3 or later
1010
**License URI:** <http://www.gnu.org/licenses/gpl-3.0.html>
1111

restrict-media-file-access.php

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
* Plugin Name: Restrict Media File Access
1515
* Plugin URI: https://wpspecialprojects.wordpress.com
1616
* Description: Restrict access to media files by custom access control.
17-
* Version: 1.0.3
17+
* Version: 1.0.4
1818
* Requires at least: 6.4
1919
* Tested up to: 6.8
2020
* Requires PHP: 8.3
@@ -98,7 +98,8 @@ function () {
9898
}
9999
}
100100

101-
// Flush rewrite rules to ensure the new rewrite rules are loaded.
102-
flush_rewrite_rules();
101+
// Set a flag to flush rewrite rules after init has fired.
102+
// This ensures rewrite rules are registered before flushing.
103+
set_transient( '_rmfa_flush_rewrite_rules', true, 60 );
103104
}
104105
);

src/RewriteRules.php

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,9 @@ public function initialize(): void {
2525

2626
// Setup query vars
2727
add_filter( 'query_vars', array( $this, 'add_query_vars' ) );
28+
29+
// Flush rewrite rules after init if activation flag is set.
30+
add_action( 'init', array( $this, 'maybe_flush_rewrite_rules' ), 999 );
2831
}
2932

3033
/**
@@ -58,4 +61,21 @@ public function add_query_vars( array $query_vars ): array {
5861

5962
return $query_vars;
6063
}
64+
65+
/**
66+
* Flush rewrite rules if activation flag is set.
67+
*
68+
* This ensures rewrite rules are registered before flushing.
69+
*
70+
* @since 1.0.3
71+
* @version 1.0.3
72+
*
73+
* @return void
74+
*/
75+
public function maybe_flush_rewrite_rules(): void {
76+
if ( false !== get_transient( '_rmfa_flush_rewrite_rules' ) ) {
77+
flush_rewrite_rules();
78+
delete_transient( '_rmfa_flush_rewrite_rules' );
79+
}
80+
}
6181
}

src/Settings.php

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,9 @@ public function initialize(): void {
3535
* @since 1.0.0
3636
* @version 1.0.0
3737
*
38-
* @param string $hook The current admin page hook.
39-
*
4038
* @return void
4139
*/
42-
public function enqueue_assets( string $hook ): void {
40+
public function enqueue_assets(): void {
4341

4442
$rmfa_media = restrict_media_file_access_get_asset_meta( RESTRICT_MEDIA_FILE_ACCESS_DIR_PATH . 'assets/admin/css/media.css' );
4543

0 commit comments

Comments
 (0)