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);

Foreach döngü içindeki ilk veriyi dışarıya taşımak

Bunu yapmak için öncelikle foreach döngü sayısı aşağıdaki gibi bir kereyle sınırlıyoruz ardından ilgili değişkeni dışarıdan çağırarak veriyi dışarıya aktarabiliyoruz.

$i = 0;
foreach ($rss->channel->item as $item) {
 
 
$temizBaslik = "veri1";
 
 
 
// 1 kayıt getir ve dur
  if(++$i > 0) break;
 
 
 
}
 
echo $temizBaslik;

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
}

Haber sitelerinden XML (RSS) kullanarak Content (içerik) ve görseli çekmek

klasik simplexml_load_string kullanarak veri çekebiliyoruz fakat içeriğin tamamı yapısı içinde yer aldığından veri çekerken str replace kullanarak yapıyı düzeltmek gerekebiliyor örneğin:

$feed = file_get_contents('https://www.habersitesi.com/rss');
$feed = str_replace('content:encoded', 'content', $feed);
$rss = simplexml_load_string($feed);
 
foreach ($rss->channel->item as $item) {
 
   echo '<h2><a href="'. $item->link .'">' . $item->title . "</a></h2>";
   echo "<p>" . $item->pubDate . "</p>";
   echo "<p>" . $item->description . "</p>";
   echo "<p>" . $item->content . "</p>";
   echo  $item->enclosure['url'];
 
 
}

örnekte olduğu gibi $item->enclosure[‘url’] şeklinde yapıyı kullanabilirsiniz

PHP Ay İsimlerini Türkçeye Çevirme (Kolay bir fonksiyonla çözdük)

php date fonksiyonuyla ekrana yazdırdığımız ingilizce kalıp ay ve gün isimlerini türkçeye çevirmek için küçük bir fonksiyon kullanıyorum

    date_default_timezone_set('Europe/Istanbul');
 
    $tarih = date("d F l");
    echo $tarih;
    // Çıktı: 23 May Tuesday
 
    $ing_aylar = array("January","February","March","May","April","June","July","August","September","October","November","December");
    $tr_aylar = array("Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık");
 
    $ing_gunler = array("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday");
    $tr_gunler = array("Pazartesi","Salı","Çarşamba","Perşembe","Cuma","Cumartesi","Pazar");
 
    $tarih = str_replace($ing_aylar,$tr_aylar,$tarih);
    $tarih = str_replace($ing_gunler,$tr_gunler,$tarih);
 
    echo $tarih;
    // Çıktı: 23 Ağustos Salı

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');

laravel-apieval()’d code on line 1 Hata Çözümü

Tinkerda Product::get() yada \App\Product::get() şeklinde çalıştırdığınızda olası olarak alabileceğiniz hata:

PHP Error: Class ‘App\Product’ not found in C:\Users\pcname\laravel-apieval()’d code on line 1

ÇÖZÜMÜ
Laravel 8’de güncel olarak çalışan komut:

\App\Models\Product::get()

şeklinde olacaktır…

Bootstrap 5 outline remove (inputlarda çıkan istenmeyen efekti kaldırmak)

textarea, selectbox, input elemanlarının etrafından çıkan istenmeyen efekti kaldırmak için aşağıdaki css yapısını kullanabilirsiniz.

textarea:focus, 
textarea.form-control:focus, 
select.form-control:focus, 
input.form-control:focus, 
input[type=text]:focus, 
input[type=password]:focus, 
input[type=email]:focus, 
input[type=number]:focus, 
[type=text].form-control:focus, 
[type=password].form-control:focus, 
[type=email].form-control:focus, 
[type=tel].form-control:focus, 
[contenteditable].form-control:focus {
  box-shadow: inset 0 -1px 0 #ddd;
}

PHP Mysql jquery Resim Yükleme Scripti (İmage Upload Example)

php yapımız ve arayüz kodlarımız aşağıdaki gibi olacaktır. demo görüntüye buradan ulaşabilirsiniz.
Okumaya devam et PHP Mysql jquery Resim Yükleme Scripti (İmage Upload Example)

PHP Mysqli Güncelleme İşlemi Nasıl Yapılır?

Daha önce veritabanı bağlantısını kurup conn değişkenini tanımladığımızı varsayarsak aşağıdaki kod yapısı işimizi görecektir

Örnek çalışma

$sql = "UPDATE MyGuests SET lastname='Doe' WHERE id=2";
 
if ($conn->query($sql) === TRUE) {
  echo "Record updated successfully";
} else {
  echo "Error updating record: " . $conn->error;
}