-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathag-dynamic-css.php
32 lines (28 loc) · 1.1 KB
/
ag-dynamic-css.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
class DyanmicCss {
public function __construct() {
// Add hooks for enqueuing scripts and initializing rewrite rules
add_action('init', array($this, 'initRewriteRules'));
add_action('wp_enqueue_scripts', array($this, 'enqueueDynamicCss'), 11);
add_action('template_redirect', array($this, 'handleDynamicCssRequest'));
}
public function enqueueDynamicCss() {
wp_enqueue_style('dynamic-css', home_url() . '/kdynamiccss/dynamic_css' .'?action=dynamic_css', '', '1.0');
}
public function handleDynamicCssRequest() {
global $wp_query;
$method = $wp_query->get('rewrite_kaveh_dynamic_cc');
if (!$method) {
return;
}
if ($method === 'dynamic_css') {
require(get_template_directory() . '/custom.css.php');
exit;
}
}
public function initRewriteRules() {
add_rewrite_tag('%rewrite_kaveh_dynamic_cc%', '([^&/]+)');
add_rewrite_rule('kdynamiccss/?([^/]*)', 'index.php?rewrite_kaveh_dynamic_cc=$matches[1]', 'top');
}
}
$dynamic_css = new DyanmicCss();