WordPress ACF Group inside Repeater (Grup içinde Repeater Kullanımı)

Bir grup içinde tekrarlayıcı varsa değerleri alıp ekrana aşağıdaki kodla basabiliriz

<?php
 
if( have_rows('your_group') ): while ( have_rows('your_group') ) : the_row(); 
 
    if( have_rows('your_repeater') ): while ( have_rows('your_repeater') ) : the_row();       
 
        echo get_sub_field('repeater_sub_field');
 
    endwhile; endif;
 
endwhile; endif;
 
?>

Standart Grup içinden içerik gösterme kodu:

<?php 
 
$group_var = get_field['your_group']; 
 
$group_sub_field_var = $group_var['group_sub_field']
 
?>

WordPress if admin (Giriş yapan kullanıcı adminse işlem yapmak)

wp_get_current_user ve user_can fonksiyonlarını kullanarak giriş yapan kullanıcının yetkisi adminse ona göre işlem tayin edebilirsiniz. Aşağıdaki kodu çalışmanıza göre uyarlayabilirsiniz

 <?php $wpUser = wp_get_current_user();
if (user_can( $wpUser, 'administrator' )) { ?>
kullanıcı admin
<?php } ?>

WordPress Bootsrap Temasında Adminbar Navbar alanının üstüne geliyor (SORUN ÇÖZÜLDÜ)

WordPresste giriş yaptıktan sonra admin bar eğer temanızın navbar yada header alanınızı kaplıyorsa bunun için farklı çözüm yolları var ben kullandığım çözüm yolunu paylaşıyorum; temel mantığımız altta kalan divin class yada id değerine top değeri tanımlayarak aşağı indirmek olacaktır.

<style type="text/css">header.fixed-top { top: 34px; }</style>

Fakat bunu yapınca giriş yapmayan yada admin olmayan kullanıcılar için istenmeyen bir görüntü ortaya çıkabilir bu sorunu aşmak için yapmamız gereken wordpressin fonksyonlarıyla kullanıcıyı bulup admin olup olmadığına bakmak ve ona göre style uygulamasını sağlamak olacaktır.
header.php içinde şu kodu yazarak ve top:34px değeriyle oynama yaparak sorunu çözebilirsiniz

  <?php $wpUser = wp_get_current_user();
if (user_can( $wpUser, 'administrator' )) { ?>
<style type="text/css">header.fixed-top { top: 34px; }</style>
<?php } ?>

WordPress Admin Bar Overlapping Twitter Bootstrap Navigation, WordPress Admin Bar Covering & Overlapping Fixed Menu Header

WordPress Resimlere Otomatik Filigran Ekleme (Auto)

Easy Watermark eklentisiyle post insert manuel işlemlerinizde yada yazı ekleme editörüyle eklediğiniz resimlere otomatik filigran ekleyebilirsiniz, eklenti resim ve text filigran oluşturma imkanı sunuyor BracketSpace tarafından geliştirilen eklentiyi Eklentiler -> Yeni Ekle alanından Easy Watermark yazarak yükleyebilirsiniz. Yükleyip aktif ettikten sonra Araçlar -> Easy Watermark menüsünden ilgili ayarlamaları yapabilirsiniz.

WordPress Manual wp_insert_post işlemi yaparken resim yüklemek

WordPresste post içerik girerken manuel resim yükleme işlemi yapmak için mevcut insert kodlarınızın hemen altına aşağıdaki fonksiyonu çalıştırabilirsiniz

 
function set_featured_image_from_external_url($url, $postid){
 
    if ( ! filter_var($url, FILTER_VALIDATE_URL) ||  empty($postid) ) {
        return;
    }
 
    // Add Featured Image to Post
    $image_url        = preg_replace('/\?.*/', '', $url); // removing query string from url & Define the image URL here
    $image_name       = basename($image_url);
    $upload_dir       = wp_upload_dir(); // Set upload folder
    $image_data       = file_get_contents($url); // Get image data
    $unique_file_name = wp_unique_filename( $upload_dir['path'], $image_name ); // Generate unique name
    $filename         = basename( $unique_file_name ); // Create image file name
 
    // Check folder permission and define file location
    if( wp_mkdir_p( $upload_dir['path'] ) ) {
        $file = $upload_dir['path'] . '/' . $filename;
    } else {
        $file = $upload_dir['basedir'] . '/' . $filename;
    }
 
    // Create the image  file on the server
    file_put_contents( $file, $image_data );
 
    // Check image file type
    $wp_filetype = wp_check_filetype( $filename, null );
 
    // Set attachment data
    $attachment = array(
        'post_mime_type' => $wp_filetype['type'],
        'post_title'     => sanitize_file_name( $filename ),
        'post_content'   => '',
        'post_status'    => 'inherit'
    );
 
    // Create the attachment
    $attach_id = wp_insert_attachment( $attachment, $file, $postid );
 
    // Include image.php
   // require_once(ABSPATH . 'wp-admin/includes/image.php');
 
    // Define attachment metadata
    $attach_data = wp_generate_attachment_metadata( $attach_id, $file );
 
    // Assign metadata to attachment
    wp_update_attachment_metadata( $attach_id, $attach_data );
 
    // And finally assign featured image to post
    set_post_thumbnail( $postid, $attach_id );
}
//----------------------------------------------------------------------
// set the featured image from extranal url
//----------------------------------------------------------------------
 
set_featured_image_from_external_url($reslink, $postid);

WordPress wp_insert_post sayfasında aynı başlık var mı veri kontrolü yapmak

WordPress manual veri ekleme sayfanız varsa insert işlemini de bir otomasyona bağlayıp sürekli veri ekliyorsanız aynı başlığı kontrol etmeniz gerekebilir ben wp_posts tablosundaki post_excerpt sütununu baz alarak aşağıdaki kodu kullanıyorum siz kendinize göre uyarlayabilirsiniz.

global $wpdb;
$tableName = $wpdb->prefix . 'posts';
$test = $wpdb->get_var( $wpdb->prepare(" SELECT post_excerpt FROM {$tableName} where post_excerpt='{$temizBaslik}'" ));
//var_dump($test);
 
if($test < 1){ 
 
// Belirtilen kayıt yok. veri eklemek için wp_insert_post çalışabilir 
 
}else { 
// Belirtilen kayıt var insert işlemi yapılmaz
}

WordPress Eklenti Geliştirme Sık Kullanılan kodlar

Eklenti hakkında bilgi tanımlama yorum satırı halinde yazılır örnek

/*
Plugin Name: İlk Eklenti Denemesi
Plugin URI: https://kodgunlugum.com
Description: Bu eklenti kodgunlugum.com tarafından hazırlanmıştır
Version: 0.1
Author: Mehmet DURMAZ
Author URI: https://google.com
*/

Admin panelde eklentinin görünmesini sağlamak

add_action("admin_menu","eklentim");
 
function eklentim() {
 
    add_menu_page("Eklenti Başlığı","Eklenti Adı","manage_options","eklenti-link","eklenti_icerigi");
 
}

Eklenti sayfasında çalışacak gösterilecek php yada html kodlarını eklenti_icerigi isimli fonksiyon içine yazmamız gerekiyor

function eklenti_icerigi() {
    ?>
 
    <form method="post">
        <br>
        <label>İstenen veri:</label>
        <input type="text" name="veri">
        <input type="submit">
    </form>
 
<?php
}
?>

wordpress veri tabanına bağlanıp örnek bir tablo oluşturmak için

function tablo_olustur() {
    global $wpdb;
 
    $charset = $wpdb->get_charset_collate();
    $tablo_adi = $wpdb->prefix."bilgiler";
 
    $sql = "CREATE TABLE $tablo_adi(
    id mediumint(9) NOT NULL AUTO_INCREMENT,
    isim VARCHAR(300)  NOT NULL,
    eposta VARCHAR(300) NOT NULL,
    telefon VARCHAR(300) NOT NULL,
    UNIQUE KEY id(id)) $charset;";
 
    require_once(ABSPATH. "wp-admin/includes/upgrade.php");
    dbDelta($sql);
 
 
    $wpdb->insert("wp_bilgiler", array(
 
        "isim" => "mehmet",
        "eposta" => "sdsgsg@dfgsg.cm",
        "telefon" => "054154154",
 
    ));
}

Tablonun eklentinin yüklenmesi sırasında otomatik olarak oluşturulmasını sağlamak için kodların altına eklenmesi gereken kod satırı:

register_activation_hook(__FILE__,'tablo_olustur');

WooCommerce Kapıda Ödeme Ayarları

Kullanıcı Kapıda Ödeme seçeneğini seçtiğinde, Kargo ücreti varsa üzerine dahil etmek gerekebilir. Yada ödeme sayfasında ödeme almadan (ödeme yöntemi kısmında kapıda ödemeyi seçen kullanıcıya diğer kredi kartı havale gibi seçeneklerin çıkmamasını sağlamak) sipariş almak gerekebilir Bu gibi durumlarda yapılması gereken eklenti kurmak ve birtakım ayarlamalar yapmak olacaktır; Aşağıdaki videolar bu konuda yardımcı olacaktır.

 

 

 

WooCommerce Belli Ücreti Geçince Sadece Ücretsiz Gönderimi Aktif Etmek

Ürün gönderim seçeneklerine “Ücretsiz gönderim” seçeneğini aktif etmek için WooCommerce -> Ayarlar -> Gönderim sekmesinde -> Gönderim Yöntemi Ekle diyoruz ardından “Ücretsiz Gönderim” seçeneğini seçip ekle diyoruz. Belli bir miktari geçince ücretsiz gönderim yapmak için, eklemiş olduğumuz “Ücretsiz gönderim” seçeneğini düzenle diyoruz ve asgari gönderim tutarı giriyoruz. Örneğin 200 TL. Artık sepet 200 tl ve üzeri bir tutarda ise gönderim seçeneklerinde “ücretsiz gönderim” seçeneği aktif olarak gelecektir. Burada eğer ücretsiz gönderim aktifse diğer seçenekleri gizlemek için ve kullanıcının yanlışlıkla kargo ödemesi yapma ihtimalini ortadan kaldırmak için.
Belli bir ücreti geçince sadece “Ücretsiz Gönderim” seçeneğinin aktif olması için, temanızın functions.php içinde uygun bir yere eklemeniz gereken kod: Okumaya devam et WooCommerce Belli Ücreti Geçince Sadece Ücretsiz Gönderimi Aktif Etmek

WordPress’te İçindekiler Bölümü Nasıl Oluşturulur?

İÇİNDEKİLER NEDİR?

İçindekiler; bir makale yada metnin içinde geçen alt başlıklara göre sıralanmasıyla oluşturulur.

NEDEN KULLANILMALIDIR?

Bu olay wordpress’te de kullanılması gereken seo dostu iyi bir davranış olacaktır 🙂 WordPress içindekiler tablosu olayını yapan çeşitli eklentiler var hepsini burada sıralayarak kafanızı karıştırmak istemedim çünkü hepsinin yaptığı iş aynı yazdığınız yazı / makalelerin daha rahat okunabilmesi açısından bu eklentilerden birinin kullanılması seo açısından çok önemlidir. Okumaya devam et WordPress’te İçindekiler Bölümü Nasıl Oluşturulur?