Install
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.zipWordPress 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
- Bu repository'yi klonlayın veya ZIP olarak indirin
hat-yonetimiklasörünü WordPress'inwp-content/plugins/klasörüne kopyalayın- WordPress admin paneline giriş yapın
- Eklentiler > Yüklü Eklentiler sayfasına gidin
- 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 tablosuwp_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:
- Telefon numarası girin
- Kullanıcı seçin (veya ad-soyad ve e-posta girin)
- Kaydedin
Fatura Girişi:
- Hat seçin
- Ay ve yıl seçin
- Fatura bedelini girin
- 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:
- Shortcode ile: Herhangi bir sayfaya
[hat_yonetimi]ekleyin - BuddyPress Profil: Profil sayfasındaki "Kurumsal Hat Bilgilerim" sekmesi
- Youzify Profil: Youzify profil sayfasındaki sekme
🎨 Özelleştirme
CSS Özelleştirme
Eklenti kendi CSS dosyalarını yükler. Özelleştirmek için:
- Tema'nızın
style.cssdosyasına özel CSS ekleyin - 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:
- Tema klasörünüzde
hat-yonetimiklasörü oluşturun frontend.phpdosyasını kopyalayın- İ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
- Eklentinin aktif olduğundan emin olun
- Kullanıcının giriş yapmış olduğunu kontrol edin
- Kullanıcıya tanımlı hat olduğunu kontrol edin
- Tema'nın shortcode'ları desteklediğinden emin olun
BuddyPress Sekmesi Görünmüyor
- BuddyPress'in aktif olduğundan emin olun
- Kullanıcıya tanımlı hat olduğunu kontrol edin
- Sekmenin sadece kendi profilinde göründüğünü unutmayın (başkasının profilinde görünmez)
- BuddyPress cache'ini temizleyin
Faturalar Görünmüyor
- Hat ID'sinin doğru olduğunu kontrol edin
- Fatura kayıtlarının veritabanında olduğunu kontrol edin
- Yıl seçiminin doğru olduğunu kontrol edin
- 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ı
- WordPress veritabanı kullanıcısının yeterli yetkilere sahip olduğundan emin olun
- Eklentiyi deaktif edip tekrar aktifleştirin (tablolar yeniden oluşturulur)
- 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
- Website: https://www.burakcaylak.com/
📄 Lisans
Bu proje özel bir projedir.
🤝 Katkıda Bulunma
Katkılarınızı bekliyoruz! Lütfen pull request göndermeden önce:
- Fork edin
- Feature branch oluşturun (
git checkout -b feature/amazing-feature) - Değişikliklerinizi commit edin (
git commit -m 'Add amazing feature') - Branch'inizi push edin (
git push origin feature/amazing-feature) - 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
- Elementor editöründe bir widget ekleyin
- "Shortcode" widget'ını seçin
[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ı filtrelemehat_yonetimi_hat_faturalar: Hat faturalarını filtreleme
Hook'lar
Eklenti şu hook'ları kullanır:
bp_setup_nav: BuddyPress profil sekmesi eklemeyouzify_profile_tabs: Youzify sekme ikonu tanımlama