Opencart vQmod Kullanımı


vQmod nedir:

vQmod opencart kaynak dosyaları değiştirmeden dosyalar üzerinde değişiklikler yapabilmeye imkan sağlayan bir araçtır. Böylece hem değişikliklerinizi tek bi yerden görüp kontrol etmeniz kolaylaşır hem de kaynak dosyalar değişmediği için opencart versiyon güncellemesi yapmanız kolaylaşır. vqmod github üzerinden indirip kurabilirsiniz (https://github.com/vqmod/vqmod). Kurulumu oldukça basit (google da kolayca örnek video bulabilirsiniz). xml klasörü içerisine ekleyeceğiniz özelleştirmeler ile istediğiniz değişiklikleri yapmaya başlayabilirsiniz. xml klasörü içerisine dosya-ismi.xml şeklinde xml uzantılı dosyalar oluşturmalısınız*** Genelde alakalı işlemleri tek bir xml dosyasında toplamanızı öneririm.
*** xml dosyalarınız sistem tarafından dosya adına göre sırayla çalıştırılır. Dolayısı ile ilk yapılacak değişiklikler için örneğin dosya ismini a_ilk_islemler.xml yapın.
Aşağıda bir xml dosyası örneğini ekliyorum, bu şablonu kullanabilirsiniz:
<modification>
    <name>urun-duzenlemeleri</name>
    <version>v1.0</version>
    <author>Ayhan</author>
    <code>urun-duzenlemeleri</code>

    <file path="catalog/controller/product/product.php">
    <operation info="urun id bilgisini bir degiskene aktar">
        <search index="1"><![CDATA[$data['manufacturer'] = $product_info['manufacturer'];]]></search>
        <add position="before"><![CDATA[$this_product_id = $data['product_id'];]]></add>
    </operation>
    </file>
    
</modification>

vQmod parametre kullanımı:

position, index, offset gibi parametreleri iki yere de yazabilirsiniz. <search index="1" position="before"> veya <add index="1" position="before"> İki türlü de çalışacaktır. Fakat ben position ve offset parametrelerini add satırına, index parametresini ise search satırına yazmayı tercih ediyorum. info ise operation satırına yazılır ve yapılan işlemle ilgili size yardımcı olacak bir ifade yazabilirsiniz. Bu parametrelerin kullanıldığı örnekleri bu yazıda bulabilirsiniz.  

vQmod position kullanımı:

position parametresi before, after ve replace olarak üç farklı değer alır. Belirttiğiniz değişiklik aranılan ifadenin öncesine eklenecekse before, sonrasına eklenecekse after kullanın. Eğer aranılan ifadeyi değiştirmek istiyorsanız o zaman replace kullanın. 
* replace kullanımından kaçınmanızı öneririm, çünkü değiştirdiğiniz bir satırı başka bir opencart eklentisi veya başka bir vqmod xml dosyası kullanmış olabilir. Çok mecbur kalmadıkça replace yerine before ve after kullanın.
* Yine aranılan ifadeyi tam bir satır olarak yazmanız şart değil. Satırda geçen bir kısmı arayabilirsiniz. Örneğin bir satırda yazan kod şu şekilde olsun: 
$data['stock'] = $product_info['quantity'];
Burada iki türlü arama yapabilirsiniz:

<search><![CDATA[$data['stock'] = $product_info['quantity'];]]></search>
<add position="after"><![CDATA[$data['stock']++;]]></add>

<search><![CDATA[$product_info['quantity'];]]></search>
<add position="replace"><![CDATA[1 + $product_info['quantity'];]]></add>

vQmod index kullanımı:

index parametresini aradığınız ifade birden fazla yerde geçiyorsa hangi sıradaki arama sonucunu kastettiğinizi belirlemek için kullanırsınız. Eğer tek yerde geçiyorsa index kullanmanıza gerek yok. index kullanımında en çok karıştırılan konulardan birisi ilk bulunan karakteri belirlemek istiyorsanız index="1" yazmalısınız, yine sırasıyla ikinci bulunan için index="2", ...vb sırayla gidecektir. İnternette bazı kaynaklarda ilk bulunan için index="0" yazılmalı demişler fakat bu bende işe yaramadı (vQmod 2.6.4 versiyonunu kullanıyorum). 
İlk bulunan ifadeyi kasteden bir örnek kullanım aşağıdadır:
<file path="catalog/controller/product/product.php">
<operation info="urun id bilgisini bir degiskene aktar">
    <search index="1"><![CDATA[$data['manufacturer'] = $product_info['manufacturer'];]]></search>
    <add position="before"><![CDATA[$this_product_id = $data['product_id'];]]></add>
</operation>
</file>

vQmod offset kullanımı:

offset parametresini position="replace" kullandığımız zamanlarda ve aynı anda birkaç satırı birden değiştirmek istiyorsanız kullanırız. 
Çalışma mantığı şu şekildedir: aradığınız ifade ile satır bulunur, offset değerinde yazdığınız sayı kadar daha satır aşağıya doğru seçilir (yani offset="3" ise aradığınız satır + altındaki 3 satır seçilir). Boş satır bile olsa onu da saymak zorundasınız. Örnek kullanımı aşağıdadır.
Orjinal kod:
$data['button_cart'] = $this->language->get('button_cart');

$data['button_wishlist'] = $this->language->get('button_wishlist');
$data['button_compare'] = $this->language->get('button_compare');
vQmod değişiklik kodu (boş satırı da sayarsak aranılan satırdan sonra 3 satırı daha seçmeliyiz):
<operation info="birkac satiri degistir">
    <search><![CDATA[$data['button_cart'] = $this->language->get('button_cart');]]></search>
    <add position="replace" offset="3"><![CDATA[
    $data['button_cart'] = 'Go: ' . $this->language->get('button_cart');

    $data['button_wishlist'] = 'Go: ' . $this->language->get('button_wishlist');
    $data['button_compare'] = 'Go: ' . $this->language->get('button_compare');
    ]]></add>
</operation>
Değişikliğin uygulanmış hali:
$data['button_cart'] = 'Go: ' . $this->language->get('button_cart');

$data['button_wishlist'] = 'Go: ' . $this->language->get('button_wishlist');
$data['button_compare'] = 'Go: ' . $this->language->get('button_compare');
.

Video Yakalama ve İndirme (Video Grap/Download) Program ve Uzantısı

Video Yakalama ve İndirme (Video Grap/Download Program & Extension)

Web sitesinde izleyebildiğiniz bir videoyu yakalayıp indirebilmek için birkaç program ve uzantı denedim fakat hiçbiri istediğim gibi çalışmadı. Aşağıdaki program ve tarayıcı uzantısı gayet düzgün çalıştı. Tavsiye ederim. Bu arada MacOS ve Chrome tarayıcı kullanarak test ettim.

Neat Download Manager
https://www.neatdownloadmanager.com

Nasıl çalışır: Programı kurup açtıktan sonra üst menüden tıklayarak tarayıcı eklentisini de kurun. Daha sonra videoyu izleyeceğiniz web sitesini açıp videoyu izlemeye başlayın. Videonun üzerinde "2 Video" gibi bir buton çıkacaktır buraya tıklayıp istediğiniz videoyu (çözünürlüğü) seçip indirebilirsiniz. 





Diyet, Spor ve Mental Sağlık

Diyet, Spor ve Mental Sağlık Hakkında Kaynaklar

Bu yazıda "Diyet & Spor, Mental Sağlık" konularında takip edebileceğiniz alanında uzman kişileri, faydalı uygulama ve araçları paylaşacağım. Paylaştığım kişiler genellikle üniversite hocalarıdır, yani anlattıklarını bilimsel araştırmalara dayandıran ve bizzat bunları uygulayan uzmanlardır.


DİYET ve SPOR:

Dr. Mike Israetel'e ait kanalda doğru ve sürdürülebilir diyet ve spor konularında oldukça faydalı bilgiler bulabilirsiniz.

https://www.youtube.com/@RenaissancePeriodization

Kanaldaki bu playlist'i sağlıklı diyet konusunda izlemenizi öneririm. Özellikle 3. videoda adım adım kalori hesabınıza göre bir yöntem verilmektedir.

https://www.youtube.com/playlist?list=PLyqKj7LwU2RulAjHczohbx5OyJQ8TaFM0

Listedeki 3. videoyu izlediğinizde günlük makro kalorinizi hesaplamanız gerektiğini anlayacaksınız. Bu hesabı aşağıdaki formdan yapabilirsiniz:


MENTAL SAĞLIK:

Stanford Tıp Fakültesi'nde nörobilimci ve nörobiyoloji ve oftalmoloji profesörü olan Dr. Andrew Huberman'a ait olan kanalda; beynimizin ve vücudumuzun organlarıyla olan bağlantılarının algılarımızı, davranışlarımızı ve sağlığımızı nasıl kontrol ettiği, sinir sistemimizin nasıl çalıştığı ve nöroloji alanıyla ilgili faydalı bilgileri bulabilirsiniz.

https://www.youtube.com/@hubermanlab

...

Wordpress - Popup Maker Eklentisi

 

Wordpress - Popup Maker Eklentisi (AB Çerez Uyarısı)

"Popup Maker" web sitenizde popup oluşturmak, e-posta aboneliği vb açılır pencere işlemleri için kullanabileceğiniz bir eklentidir. Ben genelde "Çerezleri Kullanıyoruz" uyarısı için kullanıyorum. Fakat Covid uyarısı, e-ticaret duyuruları vb. farklı açılır pencere ihtiyaçlarınız için kullanabilirsiniz. Şimdi aşağıdaki gibi AB çerez uyarısı popup uyarısının nasıl eklenebileceğini anlatmaya çalışayım.


1. "Popup Maker" ismi ile aratarak eklentiyi kurun. Üreticisi "Popup Maker".
2. Popup Maker menüsünden Create Popup seçeneği ile yeni bir popup penceresi oluşturun.
3. Üstteki popup başlık kutularının her ikisine de "Çerezleri Kullanıyoruz" gibi bir başlık yazın.
4. Alttaki metin alanına ise "Web sitemizi kullanarak çerezlere izin vermektesiniz." gibi bir içerik girebilirsiniz. Çerezler kısmına çerez politikası veya gizlilik politikası gibi ilgili sayfaya link verebilirsiniz.
5. Popup settings bölümünde Triggers ayarlarındaki "Add New Trigger" butonuna tıklayın. "Time Delay / Auto Open" seçeneğini seçip alttaki cookie ile alakalı kutudan "On Popup Close" seçin. Add butonuna tıklayın, ikinci ekranda triggerin ne zaman tetikleneceğini seçin. 500ms olarak kalabilir. Böylece Çerez Popup Uyarısı site yüklendikten 500ms sonra açılacak ve ziyaretçi popup penceresini kapatınca 1 ay süreyle tekrar görünmeyecektir.




6. Popup settings bölümünde Display ayarlarından; Appearance sekmesinden "Light Box" seçeneğini, Size sekmesinden "Micro - 20%" seçeneğini ve Max-width değerini 60%, Position sekmesinden "Bottom Left" 10px 10px ve "Fixed Position" seçeneğini, Advanced sekmesinden "Disable Overlay" ve "Stackable" seçeneklerini seçerek ilerleyebilirsiniz.
7. Popup settings bölümünde Close ayarlarındaki close text kutusuna "✕" bu karakteri kopyala/yapıştır yapabilirsiniz. Bu normal X karakterinden farklıdır ve kapat butonuna daha iyi durmaktadır.
8. Yayınla butonuna tıklayarak popup'ı aktif edebilirsiniz.
9. Aşağıdaki css kodlarını ekleyerek kutu, link ve kapat butonu gibi popup unsurlarının görünümü üzerinde değişiklikler yapabilirsiniz.
/*cerez popup maker()*/
.pum-theme-lightbox .pum-container {
    border: 3px solid #000 !important;
}
.pum-theme-lightbox .pum-container a {
    color: #000;
    font-weight: 300;
}
.pum-content + .pum-close, .pum-theme-lightbox .pum-content + .pum-close {
    font-size: 13px !important;
    font-weight: 900 !important;
}
/*cerez popup maker*/
10. Aşağıdaki gibi tek satırlık farklı bir görüntü elde etmek için önce Popup settings / Display / Size sekmesine gelin ve "Auto" seçeneğini belirleyin. Daha sonra aşağıdaki css kodlarını ekleyin.


/*cerez popup maker()*/
.pum-theme-lightbox .pum-container {
    border: 0 !important;
    box-shadow: 0px 0px 10px 0px rgba(2, 2, 2, .3) !important;
    background-color: rgba(0, 0, 0, 0.9) !important;
    padding: 12px 17px !important;
}
.pum-theme-lightbox .pum-content * {
    color: #fff;
    font-weight: 200;
}
.pum-theme-lightbox .pum-container a {
    font-weight: 300;
}
.pum-content + .pum-close, .pum-theme-lightbox .pum-content + .pum-close {
    font-size: 13px !important;
    font-weight: 900 !important;
    box-shadow: 0px 0px 6px 1px rgba(2, 2, 2, .3) !important;
    border: 2px solid rgba(0, 0, 0, 0.9) !important;
    background-color: rgba(255, 255, 255, 0.8) !important;
    color: #000 !important;
}
.pum-title {
    display: none;
}
@media (max-width: 767px) {
    .pum-theme-lightbox .pum-container {
        width: 56%;
        right: 18px;
        left: auto !important;
        padding: 8px 12px !important;
    }
    .pum-theme-lightbox .pum-content * {
        font-size: 15.2px;
    }
}
/*cerez popup maker*/


Wordpress - GTranslate Google Çeviri Eklentisi

 

Wordpress - GTranslate by Translate AI Multilingual Solutions

"GTranslate" eklentisi Translate AI Multilingual Solutions tarafından geliştirilen, wordpress dil çeviri eklentisidir. Ücretsiz sürümü dahi birçok özellik içermektedir. İngilizce veya başka dilleri sitenize eklemek istiyorsanız bulut çevirme özelliği ile direk tarayıcı üzerinden sitenizin dilini değiştirebilen bir eklentidir. Böylece sayfa içeriklerinizi tek tek çevirmek gibi zahmetli bir işten kurtulursunuz. Bazı projelerde bu şekilde olan translate işlemleri kolay olduğu için tercih sebebidir. Aşağıda kurulum ve ayarlarına değinmeye çalıştım.

1. "GTranslate" ismi ile aratarak eklentiyi kurun. Üreticisi "Translate AI Multilingual Solutions".
2. Ayarlar menüsü altındaki GTranslate'e tıklayarak ayar sayfasını açın. Ben aşağıdaki görseldeki gibi bir ayar yaptım fakat widget görünümü, ülkelerin isimleri, hangi ülkelerin görüneceği gibi istediğiniz kısımları değiştirip size uygun hale getirebilirsiniz.



3. Burada ben popup görünümü daha hoş durduğu için onu tercih ettim. Ayrıca tıklayınca ülke isimleri ayrı bir popup'da açılması daha az karmaşıklığa neden oluyor diye düşündüm. Fakat 2-3 gibi az dil seçeneği gösterecekseniz açılır kutu şeklindeki görünümler daha iyi olabilir. Popup görünümünde sadece bayrak görünmesini tercih ettim. Popup görünümü için eklediğim özel css kodları aşağıdadır.
.gtranslate_wrapper * {
    font-size: 14px !important;
}
.gtranslate_wrapper a.gt_switcher-popup > span {
    display: none;
}
.gtranslate_wrapper a.glink.nturl.gt-current-lang > span {
    font-weight: 800;
}
@media (max-width: 767px) {
    .gtranslate_wrapper a.gt_switcher-popup > img {
        height: 26px;
        width: 26px;
    }
}
4. Eğer çeviri sırasında "Hakkımızda -> about us" gibi büyük küçük harf sıkıntıları çıkıyorsa; bu durumun oluştuğu element'e "text-transform: capitalize;" veya "text-transform: uppercase;" gibi css kodu ekleyebilirsiniz.
5. Örneğin adresler gibi bazı alanların çevrilmesini istemezsiniz "Okul Sokak -> School Street" gibi. Bu durumda bu adres metninin yazıldığı kutulara "notranslate" css sınıfını ekleyin. Böylece bu sınıfa sahip html elementleri çevrilmeyecektir.

Wordpress Child Theme Nedir & Nasıl Oluşturulur?

 

Wordpress Child Theme Nedir & Nasıl Oluşturulur?

Child Theme Hakkında Sorular


>> Child theme (çocuk tema) nedir?

WordPress üzerinde kurulu ana temaya bağlı çalışan alt temalardır. Temanız üzerinde özelleştirmeler yapmak istiyorsanız çocuk tema (child theme) oluşturarak kök yani ebeveyn tema (parent theme) dosyaları üzerinde bir değişiklik yapmadan bunu gerçekleştirebilirsiniz.
>> Neden child tema kullanmalıyım?
Kısa cevabı tema üzerinde özelleştirmeler yapmaktır. Child tema kullanmanın artısı; Parent temayı güncelleseniz bile özelleştirmelerinizin korunmasıdır. Eğer parent temayı tamamen özelleştirmeyecekseniz child tema kullanmak en iyi yöntem diyebilirim. Fakat yapacağınız özelleştirmeler çok fazla ise (parent temanın birçok yerine dokunacaksanız) bu durumda tema kök dosyaları üzerinde değişiklik yapmak daha mantıklı olacaktır.
>> Child tema üzerinde örneğin header.php dosyası eklersek Parent temadaki header.php geçersiz mi kalır? Hayır ise hangisi önce çalıştırılır? Style.css dosyası için de aynısı geçerli mi?
Hayır geçersiz kalmaz, her iki dosya da yürütülür. İlk olarak child tema header.php dosyası çalıştırılır daha sonra parent temanın header.php dosyası çalıştırılır. 
Fakat style.css için aynı durum geçerli değil, parent temanın style.css dosyası geçersiz hale gelir. Bu durumda parent temanın style.css dosyasını child temada içe aktarmak gereklidir (nasıl yapılacağını aşağıdaki 5. maddede inceleyebilirsiniz).

Adım Adım Child Theme Oluşturma


1. Child Tema Klasörünü Oluşturun: 
WordPress sitenizin kök dizinine bir Child Tema klasörü oluşturun. Klasör adını belirleyin ve parent temanızın adını içerdiğinden emin olun. Örneğin, eğer "Royal Elementor Kit" temasını kullanıyorsanız, Child Tema klasörünü "royal-elementor-kit-child" gibi adlandırabilirsiniz. Yani parent tema klasör adının aynısını yazıp, sonuna "-child" ekleyin.




2. Child Tema Klasöründe style.css Dosyasını Oluşturun: 
Child tema klasörünün içine bir style.css dosyası oluşturun. İçerisine aşağıdaki kodları ekleyerek tema adınıza göre düzenleyin. Bu dosya Child temanızı tanımlayacak ve Parent temayı belirtecektir. Örneğin:
/*
Theme Name: Royal Elementor Kit Child
Template: royal-elementor-kit  // Parent temanın klasör adı
*/
Tema adını parent tema adının sonuna Child gelecek şekilde yazabilirsiniz (mucburi değildir, isterseniz farklı bir isim de yazabilirsiniz). 
Template kısmına ise parent temanın klasör adı nasıl geçiyorsa aynısını yazmanız gerekiyor.

2.1. Child Tema style.css Dosyasını Versiyonlama:
style.css içerisine yazacağınız farklı tema tanıtım bilgileri mevcuttur. Bunlar mecburi değildir. Aşağıdaki örnekte bazı ek bilgileri görebilirsiniz. Burada version kısmı önemlidir. Çünkü style.css içinde değişiklik yaptığınızda versiyonu değiştirmezseniz tarayıcı cache bellekteki dosyayı okur ve bu durumda değişiklikleri göremezsiniz. Her zaman olmasada css değişiklikleriniz çoğalınca bu versiyonu arttırmanız iyi olur. Versiyon numarasını 3 haneli yazmak bu anlamda iyi olabilir.
/*
Theme Name: Royal Elementor Kit Child
Theme URI: http://www.ayhankesicioglu.com
Template: royal-elementor-kit
Description: Royal Elementor Kit Child Theme
Author: Ayhan Kesicioglu
Author URI: http://www.ayhankesicioglu.com
Version: 1.0.1
*/

3. Child Temaya Ait Bir Görsel Yükleyin (Opsiyonel):
WP yönetim panelinden Görünüm/Temalar menüsüne girdiğinizde, yüklenen temaların bir görseli olduğunu görebilirsiniz. Bu görsel yüklenmezse boş olarak görünür. Child tema için screenshot.png (veya screenshot.jpg) isimli 1200x900 px bir resim oluşturup child tema klasörüne yükleyebilirsiniz. Böylece child temanızı temsil eden bir görseli olacaktır.

4. Child Tema Klasöründe functions.php Dosyası Oluşturun (Opsiyonel):
Bu dosya çeşitli özelleştirme kodlarını ekleyeceğiniz kısımdır ve önemlidir. Fakat bu dosya olmadan da sadece style.css ile Child temayı etkinleştirmek mümkündür.

-------
Devam etmeden önce aşağıda bazı kodlarda geçecek olan sistem metodlarını tanımak faydalı olacaktır.

get_template_directory() --> Parent temanın klasör yolu:
/home/public_html/wp-content/themes/royal-elementor-kit
get_template_directory_uri() --> Parent temanın url'si:
https://example.com/wp-content/themes/royal-elementor-kit
get_stylesheet_directory() --> Child temanın klasör yolu:
/home/public_html/wp-content/themes/royal-elementor-kit-child
get_stylesheet_directory_uri() --> Child temanın url'si:
https://example.com/wp-content/themes/royal-elementor-kit-child
-------

5. Parent Temanın style.css Dosyası Child Tema İçine Nasıl Aktarılır (Opsiyonel):
Child temada style.css dosyası eklediğimizde, Parent temanın style.css  dosyası geçersiz hale gelir. Eğer parent temanın style.css dosyasını geçerli kılıp onun üzerine bazı değişiklikler eklemek niyetindeyseniz; bu durumda Parent temanın style.css dosyasını içe aktarmanız gereklidir. Bu çok basittir. Child temanın functions.php dosyası (yoksa oluşturun) içerisine aşağıdaki kodları ekleyerek içeri aktarmış olursunuz:
<?php
function enqueue_parent_styles() {
    wp_enqueue_style('parent-style', get_template_directory_uri() . '/style.css');
}
add_action('wp_enqueue_scripts', 'enqueue_parent_styles');
?>

6. Child Temaya Özel Javascript (custom.js) Nasıl Eklenir (Opsiyonel):
Bu işlemi dilerseniz Simple Custom CSS and JS (by SilkyPress) eklentisi veya benzeri bir eklenti ile yapabilirsiniz. Veya child tema için daha uygun bir yöntem olarak bir custom.js dosyası oluşturup, bunu child tema içine aktarırsınız. Ben burada ikinci yöntem ile devam edeceğim. Öncelikle tema klasörünüzün içinde js isimli bir klasör ve içine de custom.js isimli bir dosya oluşturun. 
Örnek olarak aşağıdaki kodları ekleyerek custom.js dosyanızı oluşturabilirsiniz:
jQuery(document).ready(function($) {
    // Add custom JavaScript code here
    // $('p').css('color', 'red');
});
Sonra 5.adımdakine benzer şekilde aşağıdaki kodu functions.php dosyanızın içine ekleyin:
function custom_js_enqueue() {
    wp_enqueue_script('custom-script', get_stylesheet_directory_uri() . '/js/custom.js', array('jquery'), '1.0', true);
}

add_action('wp_enqueue_scripts', 'custom_js_enqueue');
Buradaki array('jquery') ifadesi ile eklediğiniz custom.js dosyasının jquery den sonra çalışmasını istediğinizi belirtmiş olursunuz. 1.0 ile de custom.js dosyasını versiyonlamış olursunuz, böylece tarayıcı bellekteki eski dosyayı kullanıcıya sunmaz.

7. Child Temayı Aktif Hale Getirin:
WP yönetim panelinden Görünüm/Temalar menüsüne girin. Burada eklediğiniz Child tema üzerine gelip Etkinleştir butonuna tıklayın.

Artık Child temanız oluştu ve aktif hale getirildi. Bundan sonra child tema dosyalarınız üzerinde istediğiniz özelleştirmeleri eklemeye başlayabilirsiniz. Diyelim footer.php dosyası üzerinde değişiklik yapmak istiyorsunuz. Bu durumda child temada (parent temada neredeyse oraya) footer.php dosyasını oluşturun ve içine özelleştirme kodlarınızı ekleyin. Bu şekilde tüm özelleştireceğiniz dosyaları child tema içine ekleyebilirsiniz. Unutmayın sistem önce child temanın dosyasını sonra parent temanın dosyasını çalıştırır (style.css hariç, ayrıntılı bilgi yukarıdaki sorular kısmındadır).

BONUS:
5. ve 6. maddelerde bahsettiğim dosyaları sürekli olarak manuel versiyonlama yapmak uğraştırıcı bir iş. Bu dosyaları üzerinde her değişiklik yaptığımızda versiyonu değişecek şekilde ayarlamak işimizi çok daha kolaylaştıracaktır. Böylece versiyon otomatik değişecek ve bizim manuel olarak ilerletmemize gerek kalmayacaktır. 
Bunun için önce child tema içine /css/custom.css dosyasını oluşturun ve child temanın style.css dosyasına eklediklerinizi bu dosyaya taşıyın. 
Bu şekilde otomatik versiyonlanmanın ayarlandığı şekliyle child temaya ait tüm dosyaların son hali aşağıdaki şekilde olacaktır:

style.css
/*
Theme Name: Royal Elementor Kit Child
Theme URI: http://www.ayhankesicioglu.com
Template: royal-elementor-kit
Description: Royal Elementor Kit Child Theme
Author: Ayhan Kesicioglu
Author URI: http://www.ayhankesicioglu.com
Version: 1.0.1
*/

/css/custom.css
/*your custom css*/
body {
    font-size: 12px;
}

/js/custom.js
jQuery(document).ready(function($) {
    // Add custom JavaScript code here
    // $('p').css('color', 'red');
});

functions.php
<?php

// dosyanin degistirilme tarihini 10 basamakli sayi olarak dondurur: 1234567890 gibi
function get_file_version($file) {
    $mtime = filemtime($file);
    if ($mtime === false) {
        return '';
    } else {
        return $mtime;
    }
}

// css dosyalarini ice aktar
function enqueue_parent_styles() {
    // parent tema css dosyasini ice aktar
    wp_enqueue_style('parent-style', get_template_directory_uri() . '/style.css');
    // child tema custom.css dosyasini ice aktar (otomatik versiyonlama)
    wp_enqueue_style( 'child-style', get_stylesheet_directory_uri(). '/css/custom.css', array(), get_file_version(get_stylesheet_directory() . '/css/custom.css') );
}
add_action('wp_enqueue_scripts', 'enqueue_parent_styles');

// js dosyalarini ice aktar
function custom_js_enqueue() {
    // child tema custom.js dosyasini ice aktar (otomatik versiyonlama)
    wp_enqueue_script( 'custom-script', get_stylesheet_directory_uri(). '/js/custom.js', array('jquery'), get_file_version(get_stylesheet_directory() . '/js/custom.js'), true );
}
add_action('wp_enqueue_scripts', 'custom_js_enqueue');

?>

Wordpress & OpenCart Kaynak Dosyalarını Koruyarak Üzerinde Değişiklik Yapmak

 

OpenCart ve WordPress kaynak dosyalarını değiştirmeden kodlar üzerinde değişiklik yapmak?

OpenCart ve WordPress gibi açık kaynaklı platformlarda, kaynak dosyalarını değiştirmeden kodlar üzerinde değişiklik yapmak için çeşitli yöntemler bulunmaktadır. İşte her iki platform için bu amaçla kullanabileceğiniz yöntemler.


OpenCart için:


1. vQmod kullanmak: vQmod, OpenCart için popüler bir eklentidir ve kaynak dosyalarını değiştirmeden kodları değiştirmenizi sağlar. vQmod ile, özel değişikliklerinizi XML dosyaları aracılığıyla uygulayabilirsiniz. Bu XML dosyaları, mevcut OpenCart dosyalarının belirli kısımlarını hedefleyerek değişikliklerinizi yapar. vQmod eklentisini OpenCart'a kurup kullanmayı öğrenmelisiniz.

2. Özel Temalar ve Eklentiler: OpenCart, özel temalar ve eklentiler oluşturmanıza izin verir. Kaynak dosyalarını değiştirmeden, bu temaları ve eklentileri kullanarak özel kodlarınızı ekleyebilirsiniz. Bu, OpenCart'ın güncellemelerini uygularken değişikliklerinizin korunmasına yardımcı olur.


WordPress için:


1. Child Temalar kullanmak: WordPress'te, ana temayı değiştirmeden özel değişiklikler yapmanıza olanak tanıyan "Child Theme" (Çocuk Tema) kullanabilirsiniz. Child Theme, ana temanın bir alt temasıdır ve ana temadan miras alır. Child Theme'i kullanarak, temanın stil dosyalarını, şablonlarını ve işlevlerini değiştirebilirsiniz. Bu, ana temanın güncellenmesi durumunda değişikliklerinizi korumanıza yardımcı olur.

2. Filtreler ve Hooks kullanmak: WordPress, kod üzerinde değişiklik yapmadan temanızın işlevselliğini özelleştirmenizi sağlayan birçok filtre ve hook sunar. Bu filtreler ve hook'ları kullanarak, mevcut işlevleri ve şablonları değiştirmeden özel işlevselliği ekleyebilir veya değiştirebilirsiniz.

3. Özel Eklentiler kullanmak: İhtiyacınıza göre özel eklentiler oluşturabilirsiniz. Bu eklentiler, WordPress'in işlevselliğini genişletebilir ve mevcut tema veya eklentileri etkilemeden özel kodlarınızı uygulamanıza yardımcı olabilir.


Bu yöntemler kaynak dosyaları değiştirmediği için, güncellemeler ve bakım işlemleri sırasında özelliştirmek için eklediğiniz kodlarınızın korunmasını sağlayacaktır.