Fő fájlok
| Fájl | Szerep |
|---|---|
krono-szamolo.php | Fő plugin fájl, konstansok, osztályok betöltése, inicializálás. |
admin/class-krono-admin.php | Admin menü, beállítóoldal, settings API, admin assetek. |
includes/class-krono-logic.php | Számítási logika, évadatok betöltése, statisztika növelése. |
public/class-krono-public.php | Frontend assetek, shortcode, AJAX kezelés. |
public/views/krono-form.php | Shortcode által megjelenített frontend űrlap. |
public/views/krono-result-design-1.php | Klasszikus eredménynézet. |
public/views/krono-result-design-2.php | Spirituális eredménynézet. |
includes/krono-years.txt | Évadatok a számításhoz. |
public/assets/css/krono.css | Frontend stílusok. |
public/assets/js/krono.js | Frontend AJAX működés. |
admin/assets/js/krono-admin.js | Admin színválasztó és névmező logika. |
admin/assets/css/krono-admin.css | Admin statisztikai kártyák stílusa. |
PHP osztályok
Krono_Public
Feladatai:
- frontend CSS és JS betöltése,
- shortcode regisztrálása,
- AJAX kérések kezelése,
- eredménynézet betöltése.
Fontos metódusok:
| Metódus | Leírás |
|---|---|
init() | Hookok regisztrálása. |
enqueue_assets() | Frontend CSS/JS és lokalizált AJAX adatok betöltése. |
render_shortcode() | A shortcode űrlap HTML-jének visszaadása. |
handle_ajax() | AJAX kérés ellenőrzése, számítás futtatása, eredmény visszaküldése. |
hex_to_rgba() | Hex szín RGBA formátummá alakítása. |
Krono_Admin
Feladatai:
- admin menüpont létrehozása,
- beállítások regisztrálása,
- beállítóoldal renderelése,
- plugin lista linkek hozzáadása,
- admin CSS/JS betöltése.
Fontos metódusok:
| Metódus | Leírás |
|---|---|
init() | Admin hookok regisztrálása. |
add_settings_page() | KronoKód admin menüpont létrehozása. |
register_settings() | Plugin beállítások regisztrálása. |
render_settings_page() | Admin beállítóoldal megjelenítése. |
enqueue_admin_assets() | Admin CSS, JS és WP Color Picker betöltése. |
add_plugin_action_links() | Beállítások link a pluginlistán. |
add_plugin_row_meta() | Shortcode és Kronokód.hu link a plugin meta sorában. |
Krono_Logic
Feladatai:
- számítási logika kezelése,
- évadatok betöltése,
- sikeres számítások statisztikai növelése.
Fontos metódusok:
| Metódus | Leírás |
|---|---|
calculate( $ev, $ho, $nap, $nev ) | Kronokód értékek kiszámítása. |
get_year_data() | Évadatok betöltése az includes/krono-years.txt fájlból. |
track_calculation() | Összesített, éves és havi statisztikák növelése. |
Hookok
Actionök
add_action( 'wp_enqueue_scripts', array( 'Krono_Public', 'enqueue_assets' ) );
add_action( 'wp_ajax_krono_calculate', array( 'Krono_Public', 'handle_ajax' ) );
add_action( 'wp_ajax_nopriv_krono_calculate', array( 'Krono_Public', 'handle_ajax' ) );
add_action( 'admin_menu', array( 'Krono_Admin', 'add_settings_page' ) );
add_action( 'admin_init', array( 'Krono_Admin', 'register_settings' ) );
add_action( 'admin_enqueue_scripts', array( 'Krono_Admin', 'enqueue_admin_assets' ) );
Filterek
add_filter( 'plugin_action_links_' . plugin_basename( __FILE__ ), array( 'Krono_Admin', 'add_plugin_action_links' ) );
add_filter( 'plugin_row_meta', array( 'Krono_Admin', 'add_plugin_row_meta' ), 10, 2 );
Shortcode
A plugin egy shortcode-ot regisztrál:
[kronokod]
PHP regisztráció:
add_shortcode( 'kronokod', array( 'Krono_Public', 'render_shortcode' ) );
Shortcode attribútumok: nincsenek.
AJAX működés
A frontend JavaScript a krono_calculate actiont hívja meg.
AJAX adatok:
| Adat | Leírás |
|---|---|
action | krono_calculate |
security | AJAX nonce |
year | Születési év |
month | Hónap |
day | Nap |
nev | Név vagy becenév |
A szerveroldali ellenőrzés:
check_ajax_referer( 'krono_ajax_nonce', 'security' );
Tárolt opciók
| Opció | Leírás |
|---|---|
krono_custom_footer_text | Eredmény alatti egyedi szöveg. |
krono_show_name | Névmező megjelenítése. |
krono_require_name | Névmező kötelezővé tétele. |
krono_design_choice | Eredménynézet dizájnja. |
krono_btn_bg_color | Gomb háttérszíne. |
krono_btn_text_color | Gomb feliratszíne. |
krono_stat_total | Összes sikeres számítás száma. |
krono_stat_year_YYYY | Éves sikeres számítások száma. |
krono_stat_month_YYYY_MM | Havi sikeres számítások száma. |
Template override
A jelenlegi kód alapján nincs dokumentált template override mechanizmus. Az eredménynézetek közvetlenül a plugin public/views/ mappájából töltődnek be.