WP Manifestindependent plugin directory
manifest / admin / wordpress-hat-yonetimi

Hat Yönetimi

Kurumsal şirket numarası ve aylık fatura yönetimi eklentisi. Kullanıcılara telefon numarası atama, aylık fatura takibi ve raporlama özellikleri sunar.

★ 0stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/burakcaylak/wordpress-hat-yonetimi/archive/refs/heads/master.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

WordPress Hat Yönetimi Eklentisi

Kurumsal şirket numarası ve aylık fatura yönetimi eklentisi. Kullanıcılara telefon numarası atama, aylık fatura takibi ve raporlama özellikleri sunar.

🚀 Özellikler

📞 Hat Yönetimi

  • ✅ Telefon Numarası Yönetimi: Kurumsal telefon numaralarını yönetme
  • ✅ Kullanıcı Atama: WordPress kullanıcılarına hat atama
  • ✅ Manuel Hat Ekleme: Kullanıcı olmadan da hat ekleme (ad-soyad ve e-posta ile)
  • ✅ Telefon Formatlama: Otomatik telefon numarası formatlama
  • ✅ Çoklu Hat Desteği: Kullanıcı başına birden fazla hat desteği

💰 Fatura Yönetimi

  • ✅ Aylık Fatura Takibi: Her hat için aylık fatura kayıtları
  • ✅ Yıllık Görünüm: Yıl bazlı fatura görüntüleme
  • ✅ Fatura Durumu: Fatura kesilmiş/kesilmemiş durum takibi
  • ✅ Toplam Hesaplama: Yıllık toplam fatura bedeli hesaplama
  • ✅ Fatura Girişi: Admin panelinden kolay fatura girişi

👤 Kullanıcı Arayüzü

  • ✅ Shortcode Desteği: [hat_yonetimi] shortcode'u ile sayfalarda kullanım
  • ✅ BuddyPress Entegrasyonu: Profil sayfalarında "Kurumsal Hat Bilgilerim" sekmesi
  • ✅ Youzify Entegrasyonu: Youzify profil sekmesi desteği
  • ✅ Responsive Tasarım: Mobil uyumlu arayüz
  • ✅ Yıl Seçimi: Farklı yılların faturalarını görüntüleme

📊 Raporlama

  • ✅ Hat Raporları: Tüm hatların listesi ve durumu
  • ✅ Fatura Raporları: Detaylı fatura raporları
  • ✅ Filtreleme: Hat, kullanıcı ve tarih bazlı filtreleme
  • ✅ Export: Veri dışa aktarma desteği

🎨 Özelleştirme

  • ✅ Varsayılan Görsel: Hat kartı için varsayılan görsel ayarlama
  • ✅ CSS Özelleştirme: Tema ile uyumlu stil özelleştirme
  • ✅ Template Override: Template dosyalarını tema içinde override etme

📋 Gereksinimler

  • WordPress 5.0 veya üzeri
  • PHP 7.4 veya üzeri
  • MySQL 5.6 veya üzeri
  • BuddyPress (opsiyonel - profil entegrasyonu için)
  • Youzify (opsiyonel - profil sekmesi için)

🔧 Kurulum

1. Eklentiyi Yükleyin

  1. Bu repository'yi klonlayın veya ZIP olarak indirin
  2. hat-yonetimi klasörünü WordPress'in wp-content/plugins/ klasörüne kopyalayın
  3. WordPress admin paneline giriş yapın
  4. Eklentiler > Yüklü Eklentiler sayfasına gidin
  5. Hat Yönetimi eklentisini aktifleştirin

2. Veritabanı Tabloları

Eklenti aktifleştirildiğinde otomatik olarak gerekli veritabanı tabloları oluşturulur:

  • wp_hat_hatlar: Hat bilgileri tablosu
  • wp_hat_faturalar: Aylık fatura kayıtları tablosu

3. Varsayılan Görsel (Opsiyonel)

Ayarlar > Hat Yönetimi sayfasından varsayılan hat kartı görselini ayarlayabilirsiniz.

📖 Kullanım

Shortcode Kullanımı

Temel Kullanım

[hat_yonetimi]

Bu shortcode, giriş yapmış kullanıcılar için kendilerine tanımlı hat bilgilerini gösterir.

Parametreler

[hat_yonetimi user_id="123"]

Parametreler:

  • user_id: Belirli bir kullanıcının hat bilgilerini göstermek için (varsayılan: mevcut kullanıcı)

Not: Shortcode sadece giriş yapmış kullanıcılar için çalışır ve kullanıcıya tanımlı hat varsa gösterilir.

Admin Paneli

Hat Yönetimi

Hat Yönetimi > Hatlar menüsünden:

  • Yeni hat ekleme
  • Mevcut hatları görüntüleme
  • Hat düzenleme
  • Hat silme
  • Kullanıcı atama

Hat Ekleme/Düzenleme:

  1. Telefon numarası girin
  2. Kullanıcı seçin (veya ad-soyad ve e-posta girin)
  3. Kaydedin

Fatura Girişi:

  1. Hat seçin
  2. Ay ve yıl seçin
  3. Fatura bedelini girin
  4. Kaydedin

Raporlar

Hat Yönetimi > Raporlar menüsünden:

  • Tüm hatların listesi
  • Fatura raporları
  • Filtreleme ve arama

BuddyPress Entegrasyonu

Eğer BuddyPress yüklüyse, kullanıcı profil sayfalarında otomatik olarak "Kurumsal Hat Bilgilerim" sekmesi eklenir. Bu sekme sadece kullanıcıya tanımlı hat varsa görünür.

Sekme Konumu: Profil navigasyonunda "Bilgiler" sekmesinden sonra

Youzify İkon: fas fa-phone (Font Awesome)

Kullanıcı Profil Sayfası

Kullanıcılar, kendilerine tanımlı hat bilgilerini şu şekillerde görüntüleyebilir:

  1. Shortcode ile: Herhangi bir sayfaya [hat_yonetimi] ekleyin
  2. BuddyPress Profil: Profil sayfasındaki "Kurumsal Hat Bilgilerim" sekmesi
  3. Youzify Profil: Youzify profil sayfasındaki sekme

🎨 Özelleştirme

CSS Özelleştirme

Eklenti kendi CSS dosyalarını yükler. Özelleştirmek için:

  1. Tema'nızın style.css dosyasına özel CSS ekleyin
  2. Veya child theme kullanın

CSS Sınıfları:

  • .hat-yonetimi-wrapper: Ana wrapper container
  • .hat-card: Hat kartı
  • .hat-info: Hat bilgileri
  • .hat-faturalar: Fatura listesi
  • .fatura-item: Fatura öğesi
  • .fatura-bedel: Fatura bedeli
  • .fatura-kesilmedi: Fatura kesilmemiş durumu

Template Override

Template dosyalarını tema içinde override edebilirsiniz:

  1. Tema klasörünüzde hat-yonetimi klasörü oluşturun
  2. frontend.php dosyasını kopyalayın
  3. İstediğiniz gibi düzenleyin

Template Yolu: your-theme/hat-yonetimi/frontend.php

Varsayılan Görsel Ayarlama

Admin panelinden varsayılan hat kartı görselini ayarlayabilirsiniz. Görsel WordPress Media Library'den seçilir.

📁 Klasör Yapısı

hat-yonetimi/
├── admin/                    # Admin panel dosyaları
│   ├── menu.php              # Admin menü yapısı
│   ├── admin-hatlar.php      # Hat yönetim sayfası
│   └── admin-raporlar.php    # Raporlar sayfası
├── assets/                   # CSS, JS ve görseller
│   ├── css/
│   │   ├── admin.css         # Admin temel stilleri
│   │   ├── admin-filters.css # Filtre bar stilleri
│   │   ├── admin-listeler.css
│   │   ├── admin-select2.css # Select2 stilleri
│   │   └── frontend.css      # Frontend stilleri
│   ├── js/
│   │   └── frontend.js       # Frontend JavaScript
│   └── images/
│       └── card.png          # Varsayılan hat kartı görseli
├── inc/                      # Ana modüller
│   ├── db.php                # Veritabanı işlemleri
│   ├── shortcode.php         # Shortcode handler
│   └── buddypress.php        # BuddyPress entegrasyonu
├── templates/                # Template dosyaları
│   └── frontend.php          # Frontend template
├── hat-yonetimi.php          # Ana eklenti dosyası
└── README.md                 # Bu dosya

🔒 Güvenlik

  • ✅ Nonce kontrolü ile CSRF koruması
  • ✅ Veri sanitizasyonu ve doğrulama
  • ✅ SQL injection koruması (prepared statements)
  • ✅ XSS koruması (WordPress sanitize fonksiyonları)
  • ✅ Capability kontrolü (admin işlemleri için)
  • ✅ Kullanıcı yetkilendirme (shortcode ve profil sekmesi için)

🌐 Çoklu Dil Desteği

Eklenti çoklu dil desteği için hazırlanmıştır. Text domain: hat-yonetimi

Dil dosyalarını languages/ klasörüne ekleyin veya Loco Translate gibi bir eklenti kullanın.

🐛 Sorun Giderme

Shortcode Çalışmıyor

  1. Eklentinin aktif olduğundan emin olun
  2. Kullanıcının giriş yapmış olduğunu kontrol edin
  3. Kullanıcıya tanımlı hat olduğunu kontrol edin
  4. Tema'nın shortcode'ları desteklediğinden emin olun

BuddyPress Sekmesi Görünmüyor

  1. BuddyPress'in aktif olduğundan emin olun
  2. Kullanıcıya tanımlı hat olduğunu kontrol edin
  3. Sekmenin sadece kendi profilinde göründüğünü unutmayın (başkasının profilinde görünmez)
  4. BuddyPress cache'ini temizleyin

Faturalar Görünmüyor

  1. Hat ID'sinin doğru olduğunu kontrol edin
  2. Fatura kayıtlarının veritabanında olduğunu kontrol edin
  3. Yıl seçiminin doğru olduğunu kontrol edin
  4. JavaScript hatalarını kontrol edin (tarayıcı konsolu)

Telefon Numarası Formatı

Telefon numaraları otomatik olarak formatlanır. Formatlama kuralları:

  • Boşluklar ve özel karakterler temizlenir
  • Türkiye formatına uygun hale getirilir

Veritabanı Hatası

  1. WordPress veritabanı kullanıcısının yeterli yetkilere sahip olduğundan emin olun
  2. Eklentiyi deaktif edip tekrar aktifleştirin (tablolar yeniden oluşturulur)
  3. Veritabanı tablolarının var olduğunu kontrol edin

📝 Changelog

1.0.0

  • İlk sürüm
  • Hat yönetimi (telefon numarası ekleme/düzenleme/silme)
  • Kullanıcı atama
  • Aylık fatura yönetimi
  • Shortcode desteği
  • BuddyPress/Youzify entegrasyonu
  • Admin paneli
  • Raporlama özellikleri
  • Varsayılan görsel ayarlama

👤 Yazar

Ahmet Burak Çaylak

📄 Lisans

Bu proje özel bir projedir.

🤝 Katkıda Bulunma

Katkılarınızı bekliyoruz! Lütfen pull request göndermeden önce:

  1. Fork edin
  2. Feature branch oluşturun (git checkout -b feature/amazing-feature)
  3. Değişikliklerinizi commit edin (git commit -m 'Add amazing feature')
  4. Branch'inizi push edin (git push origin feature/amazing-feature)
  5. Pull Request açın

📞 Destek

Sorularınız için issue açabilirsiniz.

🔗 İlgili Kaynaklar

💡 Kullanım Örnekleri

Örnek 1: Basit Shortcode

[hat_yonetimi]

Örnek 2: Belirli Kullanıcı İçin

[hat_yonetimi user_id="123"]

Örnek 3: Sayfa İçinde Kullanım

Bir sayfa oluşturun ve içine shortcode ekleyin:

Kurumsal Hat Bilgilerim

[hat_yonetimi]

Örnek 4: Elementor Widget İçinde

  1. Elementor editöründe bir widget ekleyin
  2. "Shortcode" widget'ını seçin
  3. [hat_yonetimi] yazın

🔧 Gelişmiş Kullanım

Fonksiyonlar

Eklenti şu yardımcı fonksiyonları sağlar:

// Kullanıcıya tanımlı hatı getir
$hat = hat_yonetimi_get_user_hat($user_id);

// Kullanıcıya tanımlı tüm hatları getir
$hats = hat_yonetimi_get_user_hats($user_id);

// Hatın aylık faturalarını getir
$faturalar = hat_yonetimi_get_hat_faturalar($hat_id, $yil);

// Toplam fatura bedelini hesapla
$toplam = hat_yonetimi_calculate_total($monthly_bills);

// Hat için fatura girilmiş yılları getir
$years = hat_yonetimi_get_hat_years($hat_id);

// Hat görseli URL'i
$image_url = hat_yonetimi_get_hat_image($hat_id);

Filtreler

Eklenti şu filtreleri sağlar:

  • hat_yonetimi_user_hats: Kullanıcı hatlarını filtreleme
  • hat_yonetimi_hat_faturalar: Hat faturalarını filtreleme

Hook'lar

Eklenti şu hook'ları kullanır:

  • bp_setup_nav: BuddyPress profil sekmesi ekleme
  • youzify_profile_tabs: Youzify sekme ikonu tanımlama