<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Projeler &#8211; Kerem ER</title>
	<atom:link href="https://kkerem.com/projeler/feed/" rel="self" type="application/rss+xml" />
	<link>https://kkerem.com</link>
	<description>Web Geliştiricisi</description>
	<lastBuildDate>Fri, 17 Apr 2026 17:18:51 +0000</lastBuildDate>
	<language>tr-TR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://kkerem.com/wp-content/uploads/favicon-1-150x150.png</url>
	<title>Projeler &#8211; Kerem ER</title>
	<link>https://kkerem.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Puan Tablosu [API]</title>
		<link>https://kkerem.com/projeler/puan-tablosu-api/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Fri, 17 Apr 2026 17:18:51 +0000</pubDate>
				<guid isPermaLink="false">https://kkerem.com/?post_type=projeler&#038;p=511</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Namaz Vakitleri [API]</title>
		<link>https://kkerem.com/projeler/namaz-vakitleri/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 10 Mar 2026 05:31:33 +0000</pubDate>
				<guid isPermaLink="false">https://kkerem.com/?post_type=projeler&#038;p=507</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Bildirim Sistemi</title>
		<link>https://kkerem.com/projeler/bildirim-sistemi/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Mon, 10 Nov 2025 15:42:02 +0000</pubDate>
				<category><![CDATA[Modül]]></category>
		<guid isPermaLink="false">http://192.168.1.20/kkerem.com/?post_type=projeler&#038;p=455</guid>

					<description><![CDATA[WordPress için gelişmiş bildirim sistemi eklentisi. Kullanıcılara bildirim gönderme, okundu işaretleme ve e-posta entegrasyonu özelliklerini içerir. Özellikler 🎯 Temel Özellikler Header Dropdown: Kullanıcıların bildirimlerini header&#8217;da bell ikonu ile görüntüleme Okundu İşaretleme: Tekil ve toplu okundu işaretleme sistemi E-posta Entegrasyonu: Bildirimlerin e-posta olarak gönderilmesi Yönetici Paneli: Kolay bildirim gönderme ve yönetim arayüzü Bildirimlerim Sayfası: Tüm bildirimleri [&#8230;]]]></description>
										<content:encoded><![CDATA[<p dir="auto">WordPress için gelişmiş bildirim sistemi eklentisi. Kullanıcılara bildirim gönderme, okundu işaretleme ve e-posta entegrasyonu özelliklerini içerir.</p>
<div class="markdown-heading" dir="auto">
<h2 class="heading-element" dir="auto" tabindex="-1">Özellikler</h2>
</div>
<div class="markdown-heading" dir="auto">
<h3 class="heading-element" dir="auto" tabindex="-1">🎯 Temel Özellikler</h3>
</div>
<ul dir="auto">
<li><strong>Header Dropdown</strong>: Kullanıcıların bildirimlerini header&#8217;da bell ikonu ile görüntüleme</li>
<li><strong>Okundu İşaretleme</strong>: Tekil ve toplu okundu işaretleme sistemi</li>
<li><strong>E-posta Entegrasyonu</strong>: Bildirimlerin e-posta olarak gönderilmesi</li>
<li><strong>Yönetici Paneli</strong>: Kolay bildirim gönderme ve yönetim arayüzü</li>
<li><strong>Bildirimlerim Sayfası</strong>: Tüm bildirimleri görüntüleme sayfası</li>
</ul>
<div class="markdown-heading" dir="auto">
<h3 class="heading-element" dir="auto" tabindex="-1">🔧 Gelişmiş Özellikler</h3>
</div>
<ul dir="auto">
<li><strong>API Desteği</strong>: Diğer eklentiler için API fonksiyonları</li>
<li><strong>Bildirim Türleri</strong>: Info, Success, Warning, Error türleri</li>
<li><strong>AJAX İşlemler</strong>: Dinamik güncelleme ve etkileşim</li>
<li><strong>Responsive Tasarım</strong>: Mobil uyumlu arayüz</li>
<li><strong>Sayfalama</strong>: Büyük bildirim listeleri için sayfalama</li>
</ul>
<div class="markdown-heading" dir="auto">
<h2 class="heading-element" dir="auto" tabindex="-1">Kurulum</h2>
</div>
<ol dir="auto">
<li>Eklenti dosyalarını <code>wp-content/plugins/pepech-notification-system/</code> klasörüne yükleyin</li>
<li>WordPress admin panelinden eklentiyi aktifleştirin</li>
<li><strong>Bildirimler</strong> menüsünden ayarları yapılandırın</li>
</ol>
<div class="markdown-heading" dir="auto">
<h2 class="heading-element" dir="auto" tabindex="-1">Kullanım</h2>
</div>
<div class="markdown-heading" dir="auto">
<h3 class="heading-element" dir="auto" tabindex="-1">Yönetici Paneli</h3>
</div>
<ol dir="auto">
<li>
<p dir="auto"><strong>Bildirim Gönder</strong>:</p>
<ul dir="auto">
<li>Kullanıcı seçin</li>
<li>Başlık ve mesaj yazın</li>
<li>Bildirim türünü belirleyin</li>
<li>E-posta gönderimini ayarlayın</li>
</ul>
</li>
<li>
<p dir="auto"><strong>Bildirimleri Yönet</strong>:</p>
<ul dir="auto">
<li>Tüm bildirimleri görüntüleyin</li>
<li>Detayları inceleyin</li>
<li>Toplu işlemler yapın</li>
</ul>
</li>
<li>
<p dir="auto"><strong>Ayarlar</strong>:</p>
<ul dir="auto">
<li>E-posta bildirimlerini açın/kapatın</li>
<li>Sayfa başına bildirim sayısını ayarlayın</li>
<li>Eski bildirimleri temizleyin</li>
</ul>
</li>
</ol>
<div class="markdown-heading" dir="auto">
<h3 class="heading-element" dir="auto" tabindex="-1">Frontend Entegrasyonu</h3>
</div>
<p dir="auto">Header&#8217;da bildirim dropdown&#8217;ını göstermek için tema dosyanıza şu kodu ekleyin:</p>
<div class="highlight highlight-text-html-php notranslate position-relative overflow-auto" dir="auto">
<pre><span class="pl-ent">&lt;?php</span> <span class="pl-en">do_action</span>(<span class="pl-s">'pepech_header_notifications'</span>); <span class="pl-ent">?&gt;</span></pre>
<div class="zeroclipboard-container"></div>
</div>
<div class="markdown-heading" dir="auto">
<h3 class="heading-element" dir="auto" tabindex="-1">API Kullanımı</h3>
</div>
<p dir="auto">Diğer eklentilerden bildirim göndermek için:</p>
<div class="highlight highlight-text-html-php notranslate position-relative overflow-auto" dir="auto">
<pre><span class="pl-c">// Basit bildirim gönderme</span>
<span class="pl-en">pepech_send_notification</span>(<span class="pl-s1"><span class="pl-c1">$</span>user_id</span>, <span class="pl-s">'Başlık'</span>, <span class="pl-s">'Mesaj içeriği'</span>);

<span class="pl-c">// Gelişmiş bildirim gönderme</span>
<span class="pl-en">pepech_send_notification</span>(<span class="pl-s1"><span class="pl-c1">$</span>user_id</span>, <span class="pl-s">'Başlık'</span>, <span class="pl-s">'Mesaj'</span>, <span class="pl-s">'success'</span>, <span class="pl-c1">false</span>);

<span class="pl-c">// Hook kullanımı</span>
<span class="pl-en">do_action</span>(<span class="pl-s">'pepech_send_notification'</span>, <span class="pl-s1"><span class="pl-c1">$</span>user_id</span>, <span class="pl-s1"><span class="pl-c1">$</span>title</span>, <span class="pl-s1"><span class="pl-c1">$</span>message</span>, <span class="pl-s1"><span class="pl-c1">$</span>type</span>, <span class="pl-s1"><span class="pl-c1">$</span>send_email</span>);</pre>
<div class="zeroclipboard-container"></div>
</div>
<div class="markdown-heading" dir="auto">
<h3 class="heading-element" dir="auto" tabindex="-1">Kullanıcı Bildirimlerini Getirme</h3>
</div>
<div class="highlight highlight-text-html-php notranslate position-relative overflow-auto" dir="auto">
<pre><span class="pl-c">// Son 10 bildirimi getir</span>
<span class="pl-s1"><span class="pl-c1">$</span>notifications</span> = <span class="pl-en">pepech_get_user_notifications</span>(<span class="pl-s1"><span class="pl-c1">$</span>user_id</span>, <span class="pl-c1">10</span>);

<span class="pl-c">// Sadece okunmamış bildirimleri getir</span>
<span class="pl-s1"><span class="pl-c1">$</span>unread_notifications</span> = <span class="pl-en">pepech_get_user_notifications</span>(<span class="pl-s1"><span class="pl-c1">$</span>user_id</span>, <span class="pl-c1">10</span>, <span class="pl-c1">true</span>);

<span class="pl-c">// Okunmamış bildirim sayısını getir</span>
<span class="pl-s1"><span class="pl-c1">$</span>unread_count</span> = <span class="pl-en">pepech_get_unread_count</span>(<span class="pl-s1"><span class="pl-c1">$</span>user_id</span>);</pre>
<div class="zeroclipboard-container"></div>
</div>
<div class="markdown-heading" dir="auto">
<h3 class="heading-element" dir="auto" tabindex="-1">Kısa Kod Kullanımı</h3>
</div>
<div class="highlight highlight-text-html-php notranslate position-relative overflow-auto" dir="auto">
<pre><span class="pl-c">// Bildirimlerim sayfası için</span>
[pepech_notifications limit="<span class="pl-c1">20</span>" show_read="true"]

<span class="pl-c">// Sadece okunmamış bildirimler</span>
[pepech_notifications limit="<span class="pl-c1">5</span>" show_read="false"]</pre>
<div class="zeroclipboard-container"></div>
</div>
<div class="markdown-heading" dir="auto">
<h2 class="heading-element" dir="auto" tabindex="-1">Veritabanı Yapısı</h2>
</div>
<p dir="auto">Eklenti aşağıdaki tabloyu oluşturur:</p>
<div class="highlight highlight-source-sql notranslate position-relative overflow-auto" dir="auto">
<pre><span class="pl-k">CREATE</span> <span class="pl-k">TABLE</span> <span class="pl-en">wp_pepech_notifications</span> (
    id mediumint(<span class="pl-c1">9</span>) <span class="pl-k">NOT NULL</span> AUTO_INCREMENT,
    user_id <span class="pl-k">bigint</span>(<span class="pl-c1">20</span>) <span class="pl-k">NOT NULL</span>,
    title <span class="pl-k">varchar</span>(<span class="pl-c1">255</span>) <span class="pl-k">NOT NULL</span>,
    message <span class="pl-k">text</span> <span class="pl-k">NOT NULL</span>,
    type <span class="pl-k">varchar</span>(<span class="pl-c1">50</span>) DEFAULT <span class="pl-s"><span class="pl-pds">'</span>info<span class="pl-pds">'</span></span>,
    is_read <span class="pl-k">tinyint</span>(<span class="pl-c1">1</span>) DEFAULT <span class="pl-c1">0</span>,
    send_email <span class="pl-k">tinyint</span>(<span class="pl-c1">1</span>) DEFAULT <span class="pl-c1">1</span>,
    created_at datetime DEFAULT <span class="pl-c1">CURRENT_TIMESTAMP</span>,
    <span class="pl-k">PRIMARY KEY</span> (id),
    KEY user_id (user_id),
    KEY is_read (is_read),
    KEY created_at (created_at)
);</pre>
<div class="zeroclipboard-container"></div>
</div>
<div class="markdown-heading" dir="auto">
<h2 class="heading-element" dir="auto" tabindex="-1">Özelleştirme</h2>
</div>
<div class="markdown-heading" dir="auto">
<h3 class="heading-element" dir="auto" tabindex="-1">CSS Özelleştirme</h3>
</div>
<p dir="auto">Bildirim stillerini özelleştirmek için tema CSS&#8217;inize ekleyin:</p>
<div class="highlight highlight-source-css notranslate position-relative overflow-auto" dir="auto">
<pre><span class="pl-c">/* Bildirim badge rengi */</span>
.<span class="pl-c1">pepech-notification-badge</span> {
    <span class="pl-c1">background</span><span class="pl-kos">:</span> <span class="pl-kos">#</span>your<span class="pl-c1">-</span>col<span class="pl-c1">or</span> <span class="pl-k">!important</span>;
}

<span class="pl-c">/* Okunmamış bildirim arka planı */</span>
.<span class="pl-c1">pepech-notification-item</span>.<span class="pl-c1">unread</span> {
    <span class="pl-c1">background-color</span><span class="pl-kos">:</span> <span class="pl-kos">#</span>your<span class="pl-c1">-</span>col<span class="pl-c1">or</span> <span class="pl-k">!important</span>;
}</pre>
<div class="zeroclipboard-container"></div>
</div>
<div class="markdown-heading" dir="auto">
<h3 class="heading-element" dir="auto" tabindex="-1">JavaScript Özelleştirme</h3>
</div>
<p dir="auto">Bildirim davranışlarını özelleştirmek için:</p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto">
<pre><span class="pl-c">// Bildirim açıldığında özel işlem</span>
<span class="pl-en">jQuery</span><span class="pl-kos">(</span><span class="pl-smi">document</span><span class="pl-kos">)</span><span class="pl-kos">.</span><span class="pl-en">on</span><span class="pl-kos">(</span><span class="pl-s">'pepech_notification_opened'</span><span class="pl-kos">,</span> <span class="pl-k">function</span><span class="pl-kos">(</span><span class="pl-s1">event</span><span class="pl-kos">,</span> <span class="pl-s1">notification</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
    <span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-s">'Bildirim açıldı:'</span><span class="pl-kos">,</span> <span class="pl-s1">notification</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
<span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">;</span>

<span class="pl-c">// Bildirim okundu olarak işaretlendiğinde</span>
<span class="pl-en">jQuery</span><span class="pl-kos">(</span><span class="pl-smi">document</span><span class="pl-kos">)</span><span class="pl-kos">.</span><span class="pl-en">on</span><span class="pl-kos">(</span><span class="pl-s">'pepech_notification_read'</span><span class="pl-kos">,</span> <span class="pl-k">function</span><span class="pl-kos">(</span><span class="pl-s1">event</span><span class="pl-kos">,</span> <span class="pl-s1">notificationId</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
    <span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-s">'Bildirim okundu:'</span><span class="pl-kos">,</span> <span class="pl-s1">notificationId</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
<span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">;</span></pre>
<div class="zeroclipboard-container"></div>
</div>
<div class="markdown-heading" dir="auto">
<h2 class="heading-element" dir="auto" tabindex="-1">Hook&#8217;lar ve Filtreler</h2>
</div>
<div class="markdown-heading" dir="auto">
<h3 class="heading-element" dir="auto" tabindex="-1">Action Hook&#8217;ları</h3>
</div>
<div class="highlight highlight-text-html-php notranslate position-relative overflow-auto" dir="auto">
<pre><span class="pl-c">// Bildirim gönderildiğinde</span>
<span class="pl-en">do_action</span>(<span class="pl-s">'pepech_notification_sent'</span>, <span class="pl-s1"><span class="pl-c1">$</span>notification_id</span>, <span class="pl-s1"><span class="pl-c1">$</span>user_id</span>);

<span class="pl-c">// Bildirim okunduğunda</span>
<span class="pl-en">do_action</span>(<span class="pl-s">'pepech_notification_read'</span>, <span class="pl-s1"><span class="pl-c1">$</span>notification_id</span>, <span class="pl-s1"><span class="pl-c1">$</span>user_id</span>);

<span class="pl-c">// Tüm bildirimler okunduğunda</span>
<span class="pl-en">do_action</span>(<span class="pl-s">'pepech_all_notifications_read'</span>, <span class="pl-s1"><span class="pl-c1">$</span>user_id</span>);</pre>
</div>
<div class="markdown-heading" dir="auto">
<h3 class="heading-element" dir="auto" tabindex="-1">Filter Hook&#8217;ları</h3>
</div>
<div class="highlight highlight-text-html-php notranslate position-relative overflow-auto" dir="auto">
<pre><span class="pl-c">// E-posta içeriğini özelleştirme</span>
<span class="pl-en">add_filter</span>(<span class="pl-s">'pepech_email_content'</span>, <span class="pl-k">function</span>(<span class="pl-s1"><span class="pl-c1">$</span>content</span>, <span class="pl-s1"><span class="pl-c1">$</span>title</span>, <span class="pl-s1"><span class="pl-c1">$</span>message</span>) {
    <span class="pl-k">return</span> <span class="pl-s1"><span class="pl-c1">$</span>custom_content</span>;
}, <span class="pl-c1">10</span>, <span class="pl-c1">3</span>);

<span class="pl-c">// Bildirim sayısını sınırlama</span>
<span class="pl-en">add_filter</span>(<span class="pl-s">'pepech_max_notifications'</span>, <span class="pl-k">function</span>(<span class="pl-s1"><span class="pl-c1">$</span>limit</span>) {
    <span class="pl-k">return</span> <span class="pl-c1">20</span>; <span class="pl-c">// Maksimum 20 bildirim</span>
});</pre>
<div class="zeroclipboard-container"></div>
</div>
<div class="markdown-heading" dir="auto">
<h2 class="heading-element" dir="auto" tabindex="-1">Sorun Giderme</h2>
</div>
<div class="markdown-heading" dir="auto">
<h3 class="heading-element" dir="auto" tabindex="-1">Bildirimler Görünmüyor</h3>
</div>
<ul dir="auto">
<li>Kullanıcının giriş yapmış olduğundan emin olun</li>
<li>JavaScript hatalarını kontrol edin</li>
<li>Cache eklentilerini temizleyin</li>
</ul>
<div class="markdown-heading" dir="auto">
<h3 class="heading-element" dir="auto" tabindex="-1">E-posta Gönderilmiyor</h3>
</div>
<ul dir="auto">
<li>WordPress mail ayarlarını kontrol edin</li>
<li>SMTP eklentisi kullanıyorsanız ayarlarını kontrol edin</li>
<li>E-posta bildirimlerinin açık olduğundan emin olun</li>
</ul>
<div class="markdown-heading" dir="auto">
<h3 class="heading-element" dir="auto" tabindex="-1">AJAX Hataları</h3>
</div>
<ul dir="auto">
<li>Nonce değerlerinin doğru olduğundan emin olun</li>
<li>JavaScript dosyalarının yüklendiğinden emin olun</li>
<li>Console&#8217;da hata mesajlarını kontrol edin</li>
</ul>
<div class="markdown-heading" dir="auto">
<h2 class="heading-element" dir="auto" tabindex="-1">Gereksinimler</h2>
</div>
<ul dir="auto">
<li>WordPress 5.0+</li>
<li>PHP 7.4+</li>
<li>MySQL 5.6+</li>
</ul>
<div class="markdown-heading" dir="auto">
<h2 class="heading-element" dir="auto" tabindex="-1">Sürüm Geçmişi</h2>
</div>
<div class="markdown-heading" dir="auto">
<h3 class="heading-element" dir="auto" tabindex="-1">1.0.0</h3>
</div>
<ul dir="auto">
<li>İlk sürüm</li>
<li>Temel bildirim sistemi</li>
<li>E-posta entegrasyonu</li>
<li>Admin paneli</li>
<li>API fonksiyonları</li>
</ul>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Sosyal Medya Giriş Sistemi</title>
		<link>https://kkerem.com/projeler/sosyal-medya-giris-sistemi/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Sat, 25 Oct 2025 23:03:38 +0000</pubDate>
				<guid isPermaLink="false">http://192.168.1.20/kkerem.com/?post_type=projeler&#038;p=462</guid>

					<description><![CDATA[WordPress ve WooCommerce için sosyal medya ile giriş yapma eklentisi. Google, Facebook, Apple, Twitter, GitHub ve LinkedIn ile giriş yapma desteği. 🚀 Özellikler Çoklu Sağlayıcı Desteği: Google, Facebook, Apple, Twitter, GitHub, LinkedIn WooCommerce Entegrasyonu: Otomatik müşteri rolü ataması Responsive Tasarım: Bootstrap uyumlu butonlar Güvenli OAuth: State parametresi ile güvenlik Otomatik Kullanıcı Oluşturma: Sosyal medya bilgileri [&#8230;]]]></description>
										<content:encoded><![CDATA[<p dir="auto">WordPress ve WooCommerce için sosyal medya ile giriş yapma eklentisi. Google, Facebook, Apple, Twitter, GitHub ve LinkedIn ile giriş yapma desteği.</p>
<div class="markdown-heading" dir="auto">
<h2 class="heading-element" dir="auto" tabindex="-1">🚀 Özellikler</h2>
</div>
<ul dir="auto">
<li><strong>Çoklu Sağlayıcı Desteği</strong>: Google, Facebook, Apple, Twitter, GitHub, LinkedIn</li>
<li><strong>WooCommerce Entegrasyonu</strong>: Otomatik müşteri rolü ataması</li>
<li><strong>Responsive Tasarım</strong>: Bootstrap uyumlu butonlar</li>
<li><strong>Güvenli OAuth</strong>: State parametresi ile güvenlik</li>
<li><strong>Otomatik Kullanıcı Oluşturma</strong>: Sosyal medya bilgileri ile kayıt</li>
<li><strong>Admin Paneli</strong>: Kolay yapılandırma arayüzü</li>
<li><strong>Shortcode Desteği</strong>: <code>[kkerem_social_login]</code> ile istediğiniz yerde gösterin</li>
</ul>
<div class="markdown-heading" dir="auto">
<h2 class="heading-element" dir="auto" tabindex="-1">📦 Kurulum</h2>
</div>
<ol dir="auto">
<li>Eklenti dosyalarını <code>/wp-content/plugins/kkerem-social-login/</code> klasörüne yükleyin</li>
<li>WordPress admin panelinden eklentiyi aktifleştirin</li>
<li><strong>Sosyal Giriş</strong> menüsünden ayarları yapılandırın</li>
</ol>
<div class="markdown-heading" dir="auto">
<h2 class="heading-element" dir="auto" tabindex="-1">⚙️ Yapılandırma</h2>
</div>
<div class="markdown-heading" dir="auto">
<h3 class="heading-element" dir="auto" tabindex="-1">Google OAuth Kurulumu</h3>
</div>
<ol dir="auto">
<li><a href="https://console.cloud.google.com/" rel="nofollow">Google Cloud Console</a> hesabınıza giriş yapın</li>
<li>Yeni proje oluşturun veya mevcut projeyi seçin</li>
<li><strong>APIs &amp; Services &gt; Credentials</strong> bölümüne gidin</li>
<li><strong>Create Credentials &gt; OAuth 2.0 Client IDs</strong> seçin</li>
<li><strong>Application type</strong>: Web application</li>
<li><strong>Authorized redirect URIs</strong> ekleyin:
<div class="snippet-clipboard-content notranslate position-relative overflow-auto">
<pre class="notranslate"><code>https://yourdomain.com/wp-login.php?kkerem-sl-callback=google
</code></pre>
</div>
</li>
<li>Client ID ve Client Secret&#8217;i eklenti ayarlarına girin</li>
</ol>
<div class="markdown-heading" dir="auto">
<h3 class="heading-element" dir="auto" tabindex="-1">Facebook OAuth Kurulumu</h3>
</div>
<ol dir="auto">
<li><a href="https://developers.facebook.com/" rel="nofollow">Facebook Developers</a> hesabınıza giriş yapın</li>
<li>Yeni uygulama oluşturun</li>
<li><strong>Facebook Login</strong> ürününü ekleyin</li>
<li><strong>Settings &gt; Basic</strong> bölümünde App ID ve App Secret&#8217;i alın</li>
<li><strong>Valid OAuth Redirect URIs</strong> ekleyin:
<div class="snippet-clipboard-content notranslate position-relative overflow-auto">
<pre class="notranslate"><code>https://yourdomain.com/wp-login.php?kkerem-sl-callback=facebook
</code></pre>
</div>
</li>
</ol>
<div class="markdown-heading" dir="auto">
<h3 class="heading-element" dir="auto" tabindex="-1">Diğer Sağlayıcılar</h3>
</div>
<p dir="auto">Benzer şekilde Apple, Twitter, GitHub ve LinkedIn için OAuth uygulamaları oluşturun ve redirect URI&#8217;ları ayarlayın.</p>
<div class="markdown-heading" dir="auto">
<h2 class="heading-element" dir="auto" tabindex="-1">🎨 Kullanım</h2>
</div>
<div class="markdown-heading" dir="auto">
<h3 class="heading-element" dir="auto" tabindex="-1">WooCommerce Formlarında Otomatik Gösterim</h3>
</div>
<p dir="auto">Eklenti ayarlarından:</p>
<ul dir="auto">
<li>✅ <strong>WooCommerce giriş formunda göster</strong></li>
<li>✅ <strong>WooCommerce kayıt formunda göster</strong></li>
</ul>
<div class="markdown-heading" dir="auto">
<h3 class="heading-element" dir="auto" tabindex="-1">Shortcode ile Manuel Gösterim</h3>
</div>
<div class="highlight highlight-text-html-php notranslate position-relative overflow-auto" dir="auto">
<pre>[kkerem_social_login]</pre>
</div>
<div class="markdown-heading" dir="auto">
<h3 class="heading-element" dir="auto" tabindex="-1">PHP ile Manuel Gösterim</h3>
</div>
<div class="highlight highlight-text-html-php notranslate position-relative overflow-auto" dir="auto">
<pre><span class="pl-k">echo</span> <span class="pl-en">do_shortcode</span>(<span class="pl-s">'[kkerem_social_login]'</span>);</pre>
</div>
<div class="markdown-heading" dir="auto">
<h2 class="heading-element" dir="auto" tabindex="-1">🔧 Gelişmiş Ayarlar</h2>
</div>
<div class="markdown-heading" dir="auto">
<h3 class="heading-element" dir="auto" tabindex="-1">Buton Stilleri</h3>
</div>
<ul dir="auto">
<li><strong>Default</strong>: Standart Bootstrap butonları</li>
<li><strong>Minimal</strong>: Minimal tasarım</li>
<li><strong>Rounded</strong>: Yuvarlatılmış köşeler</li>
</ul>
<div class="markdown-heading" dir="auto">
<h3 class="heading-element" dir="auto" tabindex="-1">Kullanıcı Rolleri</h3>
</div>
<p dir="auto">Eklenti otomatik olarak:</p>
<ul dir="auto">
<li>Yeni kullanıcıları <strong>customer</strong> rolüne atar</li>
<li>Mevcut kullanıcıları <strong>customer</strong> rolüne çevirir</li>
<li>WooCommerce müşteri verilerini otomatik doldurur</li>
</ul>
<div class="markdown-heading" dir="auto">
<h3 class="heading-element" dir="auto" tabindex="-1">Mevcut Kullanıcıları Düzeltme</h3>
</div>
<p dir="auto">Admin panelinde <strong>&#8220;Mevcut Kullanıcıları Müşteri Rolüne Çevir&#8221;</strong> butonu ile sosyal medya ile giriş yapmış kullanıcıların rollerini düzeltebilirsiniz.</p>
<div class="markdown-heading" dir="auto">
<h2 class="heading-element" dir="auto" tabindex="-1">🛡️ Güvenlik</h2>
</div>
<ul dir="auto">
<li><strong>State Parameter</strong>: CSRF saldırılarına karşı koruma</li>
<li><strong>Nonce Verification</strong>: WordPress güvenlik standartları</li>
<li><strong>Input Sanitization</strong>: Tüm girdiler temizlenir</li>
<li><strong>HTTPS Zorunluluğu</strong>: OAuth için güvenli bağlantı</li>
</ul>
<div class="markdown-heading" dir="auto">
<h2 class="heading-element" dir="auto" tabindex="-1">🔍 Debug ve Loglama</h2>
</div>
<p dir="auto">Eklenti aşağıdaki durumları loglar:</p>
<ul dir="auto">
<li>Kullanıcı oluşturma işlemleri</li>
<li>Rol atama işlemleri</li>
<li>OAuth hataları</li>
</ul>
<p dir="auto">Logları görmek için WordPress debug modunu aktifleştirin:</p>
<div class="highlight highlight-text-html-php notranslate position-relative overflow-auto" dir="auto">
<pre><span class="pl-en">define</span>(<span class="pl-s">'WP_DEBUG'</span>, <span class="pl-c1">true</span>);
<span class="pl-en">define</span>(<span class="pl-s">'WP_DEBUG_LOG'</span>, <span class="pl-c1">true</span>);</pre>
</div>
<div class="markdown-heading" dir="auto">
<h2 class="heading-element" dir="auto" tabindex="-1">📱 Responsive Tasarım</h2>
</div>
<p dir="auto">Eklenti Bootstrap 5 ile uyumlu tasarım kullanır:</p>
<ul dir="auto">
<li>Mobil cihazlarda optimize edilmiş butonlar</li>
<li>Responsive grid sistemi</li>
<li>Touch-friendly interface</li>
</ul>
<div class="markdown-heading" dir="auto">
<h2 class="heading-element" dir="auto" tabindex="-1">🔧 Hook&#8217;lar ve Filtreler</h2>
</div>
<div class="markdown-heading" dir="auto">
<h3 class="heading-element" dir="auto" tabindex="-1">Action Hook&#8217;ları</h3>
</div>
<div class="highlight highlight-text-html-php notranslate position-relative overflow-auto" dir="auto">
<pre><span class="pl-c">// Sosyal medya ile giriş sonrası</span>
<span class="pl-en">do_action</span>(<span class="pl-s">'kkerem_social_login_after_login'</span>, <span class="pl-s1"><span class="pl-c1">$</span>user_id</span>, <span class="pl-s1"><span class="pl-c1">$</span>provider</span>);

<span class="pl-c">// Kullanıcı oluşturma sonrası</span>
<span class="pl-en">do_action</span>(<span class="pl-s">'kkerem_social_login_after_user_creation'</span>, <span class="pl-s1"><span class="pl-c1">$</span>user_id</span>, <span class="pl-s1"><span class="pl-c1">$</span>user_data</span>);</pre>
</div>
<div class="markdown-heading" dir="auto">
<h3 class="heading-element" dir="auto" tabindex="-1">Filter&#8217;lar</h3>
</div>
<div class="highlight highlight-text-html-php notranslate position-relative overflow-auto" dir="auto">
<pre><span class="pl-c">// Kullanıcı adı oluşturma</span>
<span class="pl-en">apply_filters</span>(<span class="pl-s">'kkerem_social_login_username'</span>, <span class="pl-s1"><span class="pl-c1">$</span>username</span>, <span class="pl-s1"><span class="pl-c1">$</span>email</span>, <span class="pl-s1"><span class="pl-c1">$</span>provider</span>);

<span class="pl-c">// Redirect URL'i değiştirme</span>
<span class="pl-en">apply_filters</span>(<span class="pl-s">'kkerem_social_login_redirect_url'</span>, <span class="pl-s1"><span class="pl-c1">$</span>redirect_url</span>, <span class="pl-s1"><span class="pl-c1">$</span>user_id</span>);</pre>
</div>
<div class="markdown-heading" dir="auto">
<h3 class="heading-element" dir="auto" tabindex="-1">Debug Adımları</h3>
</div>
<ol dir="auto">
<li>WordPress debug modunu aktifleştirin</li>
<li>Error loglarını kontrol edin</li>
<li>OAuth sağlayıcı ayarlarını doğrulayın</li>
<li>Redirect URI&#8217;ları kontrol edin</li>
</ol>
<div class="markdown-heading" dir="auto">
<h2 class="heading-element" dir="auto" tabindex="-1">📋 Sistem Gereksinimleri</h2>
</div>
<ul dir="auto">
<li><strong>WordPress</strong>: 5.0+</li>
<li><strong>WooCommerce</strong>: 3.0+</li>
<li><strong>PHP</strong>: 7.4+</li>
<li><strong>HTTPS</strong>: OAuth için zorunlu</li>
</ul>
<div class="markdown-heading" dir="auto">
<h2 class="heading-element" dir="auto" tabindex="-1">🔄 Güncellemeler</h2>
</div>
<div class="markdown-heading" dir="auto">
<h3 class="heading-element" dir="auto" tabindex="-1">v0.1.0</h3>
</div>
<ul dir="auto">
<li>İlk sürüm</li>
<li>Google OAuth desteği</li>
<li>WooCommerce entegrasyonu</li>
<li>Admin paneli</li>
<li>Responsive tasarım</li>
</ul>
<p dir="auto"><strong>Not</strong>: Bu eklenti aktif geliştirme aşamasındadır. Üretim ortamında kullanmadan önce test edin.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Kitap Köşem &#8211; Kütüphane Arşivi</title>
		<link>https://kkerem.com/projeler/kitap-kosem-kutuphane-arsivi/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Fri, 06 Jun 2025 01:52:15 +0000</pubDate>
				<guid isPermaLink="false">http://192.168.1.20/kkerem.com/?post_type=projeler&#038;p=480</guid>

					<description><![CDATA[Maven kullanarak üye giriş sistemiyle beraber bir kütüphane arşivi kurmayı sağlar. Gereksinimler Java 21 veya üzeri Maven 3.8+ Apache Tomcat 7+ (veya uyumlu başka bir servlet container) SQLlite (Veritabanı: kitapkosem.db C:\Users&#60;KullaniciAdi&#62;.kitapkosem içerisinde olmalı) Kurulum ve Çalıştırma Projeyi klonlayın: git clone https://github.com/kKerem/KitapKosem cd kitapkosem Bağımlılıkları yükleyin ve derleyin: mvn clean install Uygulamayı başlatın: mvn tomcat7:run veya [&#8230;]]]></description>
										<content:encoded><![CDATA[<div class="markdown-heading" dir="auto">
<p dir="auto" tabindex="-1">Maven kullanarak üye giriş sistemiyle beraber bir kütüphane arşivi kurmayı sağlar.</p>
<p dir="auto" tabindex="-1">
<h3 class="heading-element" dir="auto" tabindex="-1">Gereksinimler</h3>
</div>
<ul dir="auto">
<li>Java 21 veya üzeri</li>
<li>Maven 3.8+</li>
<li>Apache Tomcat 7+ (veya uyumlu başka bir servlet container)</li>
<li>SQLlite (Veritabanı: kitapkosem.db C:\Users&lt;KullaniciAdi&gt;.kitapkosem içerisinde olmalı)</li>
</ul>
<div class="markdown-heading" dir="auto">
<h3 class="heading-element" dir="auto" tabindex="-1">Kurulum ve Çalıştırma</h3>
</div>
<ol dir="auto">
<li>Projeyi klonlayın:
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto">
<pre>git clone https://github.com/kKerem/KitapKosem
<span class="pl-c1">cd</span> kitapkosem</pre>
</div>
</li>
<li>Bağımlılıkları yükleyin ve derleyin:
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto">
<pre>mvn clean install</pre>
</div>
</li>
<li>Uygulamayı başlatın:
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto">
<pre>mvn tomcat7:run</pre>
</div>
<p>veya oluşan <code>target/kitapkosem.war</code> dosyasını Tomcat&#8217;e deploy edin.</li>
<li>Tarayıcıda açın:
<div class="snippet-clipboard-content notranslate position-relative overflow-auto">
<pre class="notranslate"><code>http://localhost:8080/kitapkosem
</code></pre>
</div>
</li>
</ol>
<blockquote>
<p dir="auto">Varsayılan kullanıcılar otomatik oluşur:</p>
<ul dir="auto">
<li>E-posta: <code>admin@kitapkosem.com</code> / Şifre: <code>12345</code></li>
<li>E-posta: <code>kerem@kitapkosem.com</code> / Şifre: <code>12345</code></li>
</ul>
<div class="markdown-heading" dir="auto">
<h2 class="heading-element" dir="auto" tabindex="-1">Ekran Görüntüsü</h2>
<p>&nbsp;</p>
</div>
<p><a class="" href="https://private-user-images.githubusercontent.com/5455184/452166211-1b31d3e1-1cc9-44db-801d-5987716e1240.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NjI4MjcxODksIm5iZiI6MTc2MjgyNjg4OSwicGF0aCI6Ii81NDU1MTg0LzQ1MjE2NjIxMS0xYjMxZDNlMS0xY2M5LTQ0ZGItODAxZC01OTg3NzE2ZTEyNDAucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MTExMSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTExMTFUMDIwODA5WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9NGI0ZmMyNzZiNTUwZjlmNzhkZjUzNGVjOWUzOTJiNGNjZWFiMWQ2MmI3MWFjNzRjZmRjZDY3MWZhM2Q2OTU3MSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.S39cC4jaVQI7AeZ6_WKzpgrUVVGiE1Tfi5T_w6T05_M" target="_blank" rel="noopener noreferrer"><img decoding="async" src="https://private-user-images.githubusercontent.com/5455184/452166211-1b31d3e1-1cc9-44db-801d-5987716e1240.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NjI4MjcxODksIm5iZiI6MTc2MjgyNjg4OSwicGF0aCI6Ii81NDU1MTg0LzQ1MjE2NjIxMS0xYjMxZDNlMS0xY2M5LTQ0ZGItODAxZC01OTg3NzE2ZTEyNDAucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MTExMSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTExMTFUMDIwODA5WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9NGI0ZmMyNzZiNTUwZjlmNzhkZjUzNGVjOWUzOTJiNGNjZWFiMWQ2MmI3MWFjNzRjZmRjZDY3MWZhM2Q2OTU3MSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.S39cC4jaVQI7AeZ6_WKzpgrUVVGiE1Tfi5T_w6T05_M" /></a></p></blockquote>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Farm Together &#8211; Hesaplama Aracı</title>
		<link>https://kkerem.com/projeler/farm-together-hesaplama-araci/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Sun, 27 Nov 2022 22:50:31 +0000</pubDate>
				<guid isPermaLink="false">http://192.168.1.20/kkerem.com/?post_type=projeler&#038;p=469</guid>

					<description><![CDATA[Bu araç temel olarak, ektiklerinden ne kadar para kazanabileceklerini hesaplar. Tek yapmanız gereken, paranızı para bölümüne yazmaktır. Desteklenen Diller İngilizce Türkçe Almanca]]></description>
										<content:encoded><![CDATA[<p>Bu araç temel olarak, ektiklerinden ne kadar para kazanabileceklerini hesaplar. Tek yapmanız gereken, paranızı para bölümüne yazmaktır.</p>
<p dir="auto"><strong>Desteklenen Diller</strong></p>
<ul dir="auto">
<li>İngilizce</li>
<li>Türkçe</li>
<li>Almanca</li>
</ul>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Google Drive Dokümanını Çevirme</title>
		<link>https://kkerem.com/projeler/google-drive-dokumanini-cevirme/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Sun, 27 Nov 2022 07:56:45 +0000</pubDate>
				<guid isPermaLink="false">http://192.168.1.20/kkerem.com/?post_type=projeler&#038;p=472</guid>

					<description><![CDATA[Bu JavaScript kodu sadece önizlenebilir olup indirilemeyen dokümanları .pdf formatına çevirip indirmeye yarar. Aşamalar pdfi aç maksimum zooma ulaştırıp 3 kez zoomu uzaklaştır yavaşça pdf sonuna kadar aşağı kaydır (tüm dokumanın yüklenebilmesi için) Tarayıcının geliştirici açarak(veya direk F12) konsol kısmına bu kodu yapıştırıp çalıştır.]]></description>
										<content:encoded><![CDATA[<p dir="auto">Bu JavaScript kodu sadece önizlenebilir olup indirilemeyen dokümanları .pdf formatına çevirip indirmeye yarar.</p>
<h2 dir="auto"><strong>Aşamalar</strong></h2>
<ol dir="auto">
<li>pdfi aç</li>
<li>maksimum zooma ulaştırıp 3 kez zoomu uzaklaştır</li>
<li>yavaşça pdf sonuna kadar aşağı kaydır (tüm dokumanın yüklenebilmesi için)</li>
<li>Tarayıcının geliştirici açarak(veya direk F12) konsol kısmına bu kodu yapıştırıp çalıştır.</li>
</ol>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>TF2 Unusual Hat Kullanımı</title>
		<link>https://kkerem.com/projeler/tf2-unusual-hat-kullanimi/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Sun, 03 Apr 2022 09:24:36 +0000</pubDate>
				<guid isPermaLink="false">http://192.168.1.20/kkerem.com/?post_type=projeler&#038;p=474</guid>

					<description><![CDATA[Team Fortress 2&#8217;de Unusual hat efektlerinin o efekte ait bir şapkaya sahip olmasa bile tüm oyuncular tarafından kullanılabilmesini sağlar. Gerekenler .smx formatına compile edilmesi gerekir.]]></description>
										<content:encoded><![CDATA[<p>Team Fortress 2&#8217;de Unusual hat efektlerinin o efekte ait bir şapkaya sahip olmasa bile tüm oyuncular tarafından kullanılabilmesini sağlar.</p>
<h2>Gerekenler</h2>
<ul>
<li>.smx formatına compile edilmesi gerekir.</li>
</ul>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>MyBB FastDL Sistemi</title>
		<link>https://kkerem.com/projeler/mybb-fastdl-sistemi/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Sat, 03 Aug 2019 01:11:11 +0000</pubDate>
				<guid isPermaLink="false">http://192.168.1.20/kkerem.com/?post_type=projeler&#038;p=477</guid>

					<description><![CDATA[Sunucu haritasına sahip olmayan oyuncuların giriş esnasında otomatik olarak siteden harita dosyasının indirilmesini sağlar.]]></description>
										<content:encoded><![CDATA[<p>Sunucu haritasına sahip olmayan oyuncuların giriş esnasında otomatik olarak siteden harita dosyasının indirilmesini sağlar.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>TF2 Jailbreak Otomatikleştirilmiş Oyunlar</title>
		<link>https://kkerem.com/projeler/tf2-jailbreak-otomatiklestirilmis-oyunlar/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 15 Jan 2019 08:15:09 +0000</pubDate>
				<guid isPermaLink="false">http://192.168.1.20/kkerem.com/?post_type=projeler&#038;p=473</guid>

					<description><![CDATA[Team Fortress 2 Jailbreak modu içerisinde oyunları yetkili kontrolüyle otomatik ayarlar ve oynatır. Gerekenler .smx formatına compile edilmesi gerekir.]]></description>
										<content:encoded><![CDATA[<p>Team Fortress 2 Jailbreak modu içerisinde oyunları yetkili kontrolüyle otomatik ayarlar ve oynatır.</p>
<h2><strong>Gerekenler</strong></h2>
<ul>
<li>.smx formatına compile edilmesi gerekir.</li>
</ul>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
