PHP Fonksiyonu Çağıran Sayfa Bilgilerini Almak

debug_backtrace()

Php'de fonksiyon ve metodlar çeşitli sayfalardan çağrılabilir. Bir hata durumunda metoda parametre gönderen sayfayı görmek isteyebilirsiniz. Bu gibi hata ayıklama durumlarında kullanabileceğiniz debug_backtrace fonksiyonu için aşağıdaki kodu kullanabilirsiniz.

$trace = debug_backtrace();
$caller = array(
    "file" => $trace[1]['file'],
    "line" => $trace[1]['line'],
    "function" => $trace[1]['function'],
    "class" => $trace[1]['class'],
);
var_dump( $caller );

ÖNEMLİ NOT: Burada dikkat etmeniz gereken husus; direk olarak var_dump( debug_backtrace() ) şeklinde kullanarak bütün sonucu bastırmamanızdır. Projenize göre değişmekle birlikte MB'larca bir sonuç döndürebilir. Bu nedenle dizideki 4 değeri çıktı olarak almanızı öneririm.

var_dump yerine error dosyasına yazdırmak için var_error_log($caller) kullanabilirsiniz.

CSS Opacity Kullanımı - Tüm Tarayıcılar


CSS Opacity - All Browsers

Eğer çok eski tarayıcıları desteklesin gibi bir derdiniz yoksa kısaca şu 3 satır işinizi görecektir. Tavsiye edilen kullanımdır. zoom ve filter komutları IE içindir (başımızın belası:))
zoom: 1;
filter: alpha(opacity=85);
opacity: 0.85;

Eğer önemli bir projeniz var ve tüm tarayıcılarda sorunsuz görünmesi gerekiyorsa (en eski tarayıcılarda dahi) o zaman bu uzun versiyonu kullanmanız tavsiye edilir.
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; /* IE 8 */
filter: alpha(opacity=85);  /* IE 5-7 */
-moz-opacity: 0.85; /* Netscape */
-khtml-opacity: 0.85; /* Safari 1.x */
opacity: 0.85; /* Good browsers */

Opencart PHP Zip & Download (Ajax Method)


Opencart sayfasındaki bir butona tıklayarak dosyaları indirmek için ajax metodunu kullanabilirsiniz. Bunun için controller ve view dosyalarına ekleyeceğiniz kodlar aşağıdadır.

Controller:
public function downloadAllFiles() {
    $json = array();

    $zip_files = array(
        "file-1.jpg",
        "file-2.jpg",
        "file-3.jpg",
    );
    
    if ( count($zip_files) > 0 ) {
        $zipname = "indir.zip";
        $zip = new ZipArchive;
        $zip->open($_SERVER['DOCUMENT_ROOT']."/store/image/download/".$zipname, ZipArchive::CREATE);
        foreach ($zip_files as $file) {
          $zip->addFile($_SERVER['DOCUMENT_ROOT']."/store/image/download/".$file, $file);
        }
        $zip->close();

        //success and send zip file path
        $json['success'] = 'https://example.com/store/image/download/'.$zipname;
        $this->response->addHeader('Content-Type: application/json');
        $this->response->setOutput(json_encode($json));
    }
    else {
        $json['error'] = "İndirilecek dosya bulunamadı! Lütfen kontrol ediniz.";
        $this->response->addHeader('Content-Type: application/json');
        $this->response->setOutput(json_encode($json));
    }
}

View:
<!-- Add Download Button -->
<button id="btn-download-zip" data-loading-text="<?php echo $text_downloading; ?>" class="btn btn-info"><?php echo $text_download; ?> <i class="fa fa-download"></i></button>

<!-- Add Ajax Script -->
<script type="text/javascript">
    $(document).delegate('#btn-download-zip', 'click', function() {
        $.ajax({
            url: 'index.php?route=sale/order/downloadallfiles',
            type: 'post',
            dataType: 'json',
            beforeSend: function() {
                $('#btn-download-zip').button('loading');
            },
            complete: function() {
                $('#btn-download-zip').button('reset');
            },
            success: function(json) {
                $('.alert').remove();

                if (json['error']) {
                    $('#content > .container-fluid').prepend('<div class="alert alert-danger"><i class="fa fa-exclamation-circle"></i> ' + json['error'] + '</div>');
                }
                else {
                    //download zip file
                    window.location.href = json['success'];
                }
            },
            error: function(xhr, ajaxOptions, thrownError) {
                alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
            }
        });
    });
</script>

2020 En İyi Wordpress Eklentileri



2020 En İyi Wordpress Eklentileri | 2020 Best Wordpress Plugins
Son Güncelleme | Last Update: 1.12.2020

  • Bir çok eklenti arasından en kullanılışlı gördüklerimi (en çok indirilenleri değil) sizlerle paylaşacağım. 
  • Hepsini kullandım ve sizlere öneriyorum. Genelde pro veya premium kısıtlaması olmayan tamamen ücretsiz eklentileri seçtim. 
  • Kullanım amaçlarına göre listeleyeceğim. 
  • Yazılan eklenti adlarını kopyalayıp Admin > Plugins > Add New tıklayarak aratınız.

KULLANIM AMAÇLARINA GÖRE EKLENTİLER

Wordpress üyelik sistemini ve sayfalarını düzenleme
User Registration WPEverest
Simgesi laleye benzeyen bu eklenti, standart accounts, login, register, forgot password vs gibi üyelik sayfalarını özelleştirmenizi sağlayacaktır. Kendi üye kayıt formunuzu oluşturmanıza imkan vermektedir ki bu benzerleri arasından bu eklentiyi tercih sebebim oldu. Dökümantasyon sayfası kurulumda size yardımcı olacaktır.

Wordpress sayfaları veya sayfa içeriklerini üyelere özel yaparak gizleme
Private Content Aldo Latino
Örneğin bir sayfanız var ve üye olmayanlar sadece bir mesaj görsün ve giriş yapmaya yönlendirilsin istiyorsunuz, üye olanlar ise bu sayfa içeriğini görebilsin istiyorsunuz. İşte bu durumda işinize yarayacak short code desteği olan bir eklentidir. Aslında bütün özellikleri short code olarak çalışıyor desek daha doğru olacak. github sayfası kurulumdan sonra size yardımcı olacaktır.

Wordpress eklentilerini farklı dillere çevirme
Loco Translate
Kullandığınız bir eklentinin Türkçe desteği yoksa bu eklenti tam size göre. Plugin translate deyince ilk akla gelen ve en kapsamlı eklenti gördüğü kadarıyla. Fakat ilk denemenizde işe yaramadı çevirmedi gibi düşünmeyin. 1) Öncelikle çevirmek istediğiniz eklentiyi listeden seçin. 2) New language butonuna tıklayın ve burdan wp genel ayarlar sekmenizde seçili olan sistem diliniz ne ise onu seçin (burası önemli!). 3) Yine önemli olan diğer kısım location kısmı yani dil dosyasının nereye ekleneceği. Burda 3 farklı yöntem var. Ben burda languages/loco/plugins/ornek-plugin-tr_TR.po yolunu seçtim. 4) Çeviri yapacağınız ifadeyi aratın ve alta seçtiğiniz dildeki tercümesini ekleyin ve kaydedin. 5) Bu eklentiyi kullandığınız sayfayı/postu update yapın (bunu yapmayınca çeviri aktif olmayabiliyor). 6) Yine de olmazsa mevcut çeviri dosyasını silip, 3. aşamada söylediğim diğer iki location için işlemleri tekrarlayın.

Wordpress sayfalarında sağ tuş ve içerik kopyalanmasını engelleme
WP Content Copy Protection with Color Design
Sayfalarınnızda sağ tuşa tıklanmasını ve içerik kopyalanmasını (seçerek, ctrl+a, vs) engellemek istiyorsanız bu eklentiyi kullanabilirsiniz. Sağ tuşa tıklandığında editlenebilir bir uyarı mesajı çıkması ve belirli sayfa/postlar için bu engellemeyi yapabilmesi bu eklentiyi benzerlerinden öne çıkarmaktadır.

    Wordpress sayfalarına css veya js kodları ekleme
    Simple Custom CSS and JS
    Bu eklenti ile sayfaların header veya footer kısmına js, css veya html kodları ekleyebilmektesiniz. Bu tarzda farklı eklentiler var fakat sağlıklı çalışmıyor, bu eklenti sağlıklı bir şekilde çalışmaktadır.

     

    Wordpress Çıkış Sonrası Onay İsteminin Kapatılması

    Wordpress Bypass Logout Confirmation 

    Kullanıcı çıkış yaptığında gelen "Çıkmak istiyor musunuz?" benzeri bir soruyu almadan direk çıkış yapmak istiyorsanız, aşağıdaki kodu functions.php içerisine ekleyin. Böylece çıkış butonuna tıkladıktan sonra oturumunuz sonlanacak ve direk anasayfaya yönlendirileceksiniz.

    /**
     * Generates custom logout URL
     */
    function getLogoutUrl($redirectUrl = ''){
        if(!$redirectUrl) $redirectUrl = site_url();
        $return = str_replace("&amp;", '&', wp_logout_url($redirectUrl));
        return $return;
    }
    /**
     * Bypass logout confirmation on nonce verification failure
     */
    function logout_without_confirmation($action, $result){
        if(!$result && ($action == 'log-out')){ 
            wp_safe_redirect(getLogoutUrl()); 
            exit(); 
        }
    }
    add_action( 'check_admin_referer', 'logout_without_confirmation', 1, 2);
    

    Wordpress Admin Menü Çubuğunu Kaldırma

    Wordpress'e Admin Menü Çubuğunu Kaldırma (Admin Hariç Diğer Kullanıcılar İçin)

    Kullanıcı siteye giriş yaptığında en üstte görünen siyah menü çubuğunu (admin menu bar) kaldırmak için aşağıdaki kodu functions.php içine ekleyin. Admin hariç diğer kullanıcılar için kaldırılmış olacaktır.

    /**
     * Remove Admin Bar
    */
    function wpb_remove_admin_bar() {
        if (!current_user_can('administrator') && !is_admin()) {
              show_admin_bar(false);
        }
    }
    add_action('after_setup_theme', 'wpb_remove_admin_bar');
    

    Opencart Sözlüğü

    Opencart Dictionary


    TR


    Opencart Ürün Listeleme Modülleri
    BestsellerEn çok satan ürünler. Genelde anasayfada en çok satan ürünleri listelemek için kullanılır.
    FeaturedSeçilen ürünler. Sizin tek tek seçerek belirlediğiniz ürünlerden oluşan bir listedir.
    LatestYeni ürünler. Mağazaya en son eklediğiniz ürünleri içeren listedir.
    Specialİndirimli ürünler. İndirimli fiyat girdiğiniz ürünleri içeren listedir.

    Diğer
    AffiliateOrtaklık. Opencart ortaklık sistemine sahiptir. Modüller içinden bunu aktif hale getirebilir, mağaza ayarlarınızdan komisyon ve başvuru ayarlarını düzenleyebilirsiniz.
    TransactionsMağaza kredisi. Mağazanın hesabınıza tanımladığı bakiye ile alışveriş yapabilirsiniz. Bu kredi ile yaptığınız işlemleri ve kalan bakiyenizi Hesabım > Bakiye İşlemleri menüsünden takip edebilirsiniz.

    EN

    Opencart Product Listing Modules
    BestsellerBest selling products. It is often used to list the best selling products on the homepage.
    FeaturedSelected products. It is a list of products that you choose individually.
    LatestNew products. This is the list of products you recently added to the store.
    SpecialDiscounted products. The discounted price is the list that contains the products you entered.

    Other
    AffiliateReseller. Opencart has reseller system. You can activate this from within the modules, and edit commission and application settings from your store settings.
    TransactionsStore credit. You can shop with the balance defined by the store to your account. You can track your transactions with this credit and your remaining balance on the My Account > Your Transactions menu.