/** * Plugin Name: MU – RankMath Rewrite Allowlist * Description: Hindrar RankMaths Permalink_Watcher från att köra på alla requests utom när permalänkar sparas (eller manuellt tillåts). Behåller "strip"-funktionerna utan flush-loopar. * Version: 1.0.0 */ // 0) Liten “nyckel” för manuell tillåtelse i 2 min: lägg ?allow_rankmath_rewrite=1 i admin-URL add_action('admin_init', function () { if (current_user_can('manage_options') && isset($_GET['allow_rankmath_rewrite'])) { set_transient('allow_rankmath_rewrite', 1, 120); // 2 minuter } }); // 1) Plocka bort RankMath Permalink_Watcher->add_rewrite_rules från 'rewrite_rules_array' på alla requests add_action('plugins_loaded', function () { maybe_remove_rankmath_rewrite_callback(); // default = ta bort // Tillåt endast på permalänk-sidan eller om vi manuellt tillåtit $req = $_SERVER['REQUEST_URI'] ?? ''; $is_permalinks_admin = is_admin() && (strpos($req, 'options-permalink.php') !== false); $is_temp_allowed = (bool) get_transient('allow_rankmath_rewrite'); if ($is_permalinks_admin || $is_temp_allowed) { // Återlägg callbacken på rätt hook om vi just tog bort den maybe_add_back_rankmath_rewrite_callback(); } }, 1); // Hjälpfunktion: ta bort RankMath-callbacken från rewrite_rules_array function maybe_remove_rankmath_rewrite_callback() { global $wp_filter; $hook = 'rewrite_rules_array'; if (empty($wp_filter[$hook])) return; $wp_hook = $wp_filter[$hook]; if (is_object($wp_hook) && isset($wp_hook->callbacks) && is_array($wp_hook->callbacks)) { foreach ($wp_hook->callbacks as $priority => $items) { foreach ($items as $id => $cb_wrap) { $cb = $cb_wrap['function'] ?? null; if (is_array($cb) && isset($cb[0], $cb[1])) { $class = is_object($cb[0]) ? get_class($cb[0]) : (string)$cb[0]; $method = (string)$cb[1]; if ( stripos($class, 'RankMath\\WooCommerce\\Permalink_Watcher') !== false && stripos($method, 'add_rewrite_rules') !== false ) { remove_filter($hook, $cb, $priority); // spara för ev. återläggning $GLOBALS['__rm_rankmath_cb'] = ['cb' => $cb, 'priority' => $priority]; } } } } } } // Hjälpfunktion: återlägg RankMath-callbacken (endast på tillåtna sidor) function maybe_add_back_rankmath_rewrite_callback() { if (!empty($GLOBALS['__rm_rankmath_cb'])) { $cb = $GLOBALS['__rm_rankmath_cb']['cb']; $prio = $GLOBALS['__rm_rankmath_cb']['priority']; add_filter('rewrite_rules_array', $cb, $prio, 1); } } // 2) Gör reglerna deterministiska så WordPress inte tror de ändrats pga ordning add_filter('rewrite_rules_array', function ($rules) { if (is_array($rules)) ksort($rules); return $rules; }, 999); CRYSTAL SIGN 297x420 (A3 floor sign) refill
-8%

CRYSTAL SIGN 297×420 (A3 floor sign) refill

Durable
Availability:

🟡 Made to order - Delivery time varies


10 frosted inserts for floor sign CRYSTAL SIGN 4819 in format A3 (297x420mm).

Item number: 483719

293,15 DKK

Frosted insert sheets suitable for floor sign CRYSTAL SIGN 4819, A3 format (297x420mm). Design the sign using the free program DURAPRINT® available at www.duraprint.se and print with a laser printer on the frosted sheet. A package contains 10 sheets with 1 sign insert/sheet. The sheets are perforated and easy to tear apart.

SKU: 483719 Category: Tag:
Weight 166 g
Dimensions 470 × 324 × 2 mm
Brand/Make

Paint

0
    0
    Your shopping cart is emptyReturn to store