feat: update footer with site policies, add CTA retrieval SQL, and refactor block content management

This commit is contained in:
2026-07-17 22:07:01 +07:00
parent 49b8d2b2ea
commit 6af9240c22
59 changed files with 140 additions and 612 deletions
+60
View File
@@ -0,0 +1,60 @@
import csv
import re
csv_path = '/home/x79/sisvietnamvn_01/Design/List of all WP action hooks and filters -- Adam Brown, BYU Political Science.csv'
java_path = '/home/x79/sisvietnamvn_01/sisvietnamvn_main/src/main/java/com/sisvietnamvn/web/hook/WpHooks.java'
def sanitize_constant_name(hook_name):
# Convert {$plugin} to PLUGIN
name = re.sub(r'\{\$([a-zA-Z0-9_]+)\}', r'\1', hook_name)
name = re.sub(r'[^a-zA-Z0-9_]', '_', name).upper()
# Handle multiple underscores or leading numbers
name = re.sub(r'_+', '_', name)
name = name.strip('_')
if name and name[0].isdigit():
name = "HOOK_" + name
return name
with open(csv_path, 'r', encoding='utf-8-sig') as f:
reader = csv.reader(f)
next(reader) # Skip header
hooks = set()
for row in reader:
if len(row) > 1 and row[1].strip():
hooks.add(row[1].strip())
with open(java_path, 'w', encoding='utf-8') as f:
f.write("package com.sisvietnamvn.web.hook;\n\n")
f.write("/**\n")
f.write(" * Automatically generated dictionary of all WordPress Hooks.\n")
f.write(" * Contains " + str(len(hooks)) + " constants.\n")
f.write(" */\n")
f.write("public final class WpHooks {\n\n")
f.write(" private WpHooks() {}\n\n")
# Track written constants to avoid duplicates
written = set()
for hook in sorted(list(hooks)):
const_name = sanitize_constant_name(hook)
if not const_name:
continue
if const_name in written:
const_name = const_name + "_2" # Simple deduplication
written.add(const_name)
# Add comment with original hook name
f.write(f' /**\n')
f.write(f' * Original hook name: {hook}\n')
f.write(f' */\n')
f.write(f' public static final String {const_name} = "{hook}";\n\n')
f.write("}\n")
print(f"Generated {len(written)} hook constants in WpHooks.java")