Kronokód Kalkulátor

Fejlesztői áttekintés

A leírás a v1.0.5 verzióhoz készült. Frissítve: 2026.05.27..

Fő fájlok

FájlSzerep
krono-szamolo.phpFő plugin fájl, konstansok, osztályok betöltése, inicializálás.
admin/class-krono-admin.phpAdmin menü, beállítóoldal, settings API, admin assetek.
includes/class-krono-logic.phpSzámítási logika, évadatok betöltése, statisztika növelése.
public/class-krono-public.phpFrontend assetek, shortcode, AJAX kezelés.
public/views/krono-form.phpShortcode által megjelenített frontend űrlap.
public/views/krono-result-design-1.phpKlasszikus eredménynézet.
public/views/krono-result-design-2.phpSpirituális eredménynézet.
includes/krono-years.txtÉvadatok a számításhoz.
public/assets/css/krono.cssFrontend stílusok.
public/assets/js/krono.jsFrontend AJAX működés.
admin/assets/js/krono-admin.jsAdmin színválasztó és névmező logika.
admin/assets/css/krono-admin.cssAdmin 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ódusLeí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ódusLeí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ódusLeí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:

AdatLeírás
actionkrono_calculate
securityAJAX nonce
yearSzületési év
monthHónap
dayNap
nevNé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_textEredmény alatti egyedi szöveg.
krono_show_nameNévmező megjelenítése.
krono_require_nameNévmező kötelezővé tétele.
krono_design_choiceEredménynézet dizájnja.
krono_btn_bg_colorGomb háttérszíne.
krono_btn_text_colorGomb 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_MMHavi 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.