İlk sürüm: Eklenti temel yapısı ve metadata tanımları

This commit is contained in:
hpibot
2026-02-24 15:52:27 +03:00
commit 0643d43d42
2 changed files with 88 additions and 0 deletions

19
README.md Normal file
View File

@@ -0,0 +1,19 @@
# himsakiye-wp-plugin
WordPress için Osmanlı temalı interaktif Ramazan İmsakiye eklentisi.
## Özellikler
- **2 Tip Gösterim:** Sidebar widget ve Tam ekran imsakiye (Shortcode).
- **Yerel Hesaplama:** Harici API bağımlılığı olmadan astronomik namaz vakti hesaplama.
- **İl Seçimi:** 81 il için koordinat tabanlı veri.
- **Geri Sayım:** İftar vaktine kalan süreyi anlık gösterim.
- **Modern Tasarım:** Gotik / Osmanlı Ramazan teması (Yeşil tonları).
- **PWA Uyumluluğu:** Mobil cihazlar için optimize edilmiş arayüz.
## Kurulum
1. Eklentiyi `/wp-content/plugins/` dizinine yükleyin.
2. WordPress admin panelinden eklentiyi aktif edin.
3. `[himsakiye]` kısa kodunu istediğiniz sayfaya ekleyin.
---
*hOLOlu tarafından Mustafa ÖZKAYA için geliştirilmiştir.*

69
himsakiye.php Normal file
View File

@@ -0,0 +1,69 @@
<?php
/**
* Plugin Name: hImsakiye - Ramazan İmsakiye Eklentisi
* Plugin URI: https://www.mustafaozkaya.tr/
* Description: Osmanlı temalı, yerel hesaplama yöntemli interaktif Ramazan imsakiye eklentisi.
* Version: 1.0.0
* Author: Mustafa ÖZKAYA & hOLOlu
* Author URI: https://www.mustafaozkaya.tr/
* Text Domain: himsakiye
* Domain Path: /languages
*/
// Doğrudan erişimi engelle
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
// Sabitleri tanımla
define( 'HIMSAKIYE_VERSION', '1.0.0' );
define( 'HIMSAKIYE_PATH', plugin_dir_path( __FILE__ ) );
define( 'HIMSAKIYE_URL', plugin_dir_url( __FILE__ ) );
/**
* Eklenti Ana Sınıfı
*/
class HImsakiye {
private static $instance = null;
public static function get_instance() {
if ( null === self::$instance ) {
self::$instance = new self();
}
return self::$instance;
}
private function __construct() {
$this->includes();
$this->init_hooks();
}
private function includes() {
// Hesaplama motoru, widget ve shortcode sınıflarını buraya ekleyeceğiz
// require_once HIMSAKIYE_PATH . 'includes/class-himsakiye-calc.php';
// require_once HIMSAKIYE_PATH . 'includes/class-himsakiye-widget.php';
// require_once HIMSAKIYE_PATH . 'includes/class-himsakiye-shortcode.php';
}
private function init_hooks() {
add_action( 'plugins_loaded', [ $this, 'load_textdomain' ] );
add_action( 'wp_enqueue_scripts', [ $this, 'enqueue_assets' ] );
}
public function load_textdomain() {
load_plugin_textdomain( 'himsakiye', false, dirname( plugin_basename( __FILE__ ) ) . '/languages' );
}
public function enqueue_assets() {
wp_enqueue_style( 'himsakiye-theme', HIMSAKIYE_URL . 'assets/css/theme.css', [], HIMSAKIYE_VERSION );
wp_enqueue_script( 'himsakiye-main', HIMSAKIYE_URL . 'assets/js/main.js', [ 'jquery' ], HIMSAKIYE_VERSION, true );
wp_localize_script( 'himsakiye-main', 'hImsakiyeVars', [
'ajax_url' => admin_url( 'admin-ajax.php' ),
'nonce' => wp_create_nonce( 'himsakiye_nonce' )
]);
}
}
// Eklentiyi başlat
HImsakiye::get_instance();