• 06-05-2022, 13:34:45
    #1
    Wordpress ana dizininde bot.php dosyası oluşturarak aşağıdaki kod ile uzaktan ekleme yapabilirsiniz. Özellikle bot yazan arkadaşlar için ideal bir kullanım.

    Örnek Senaryo
    $client = new Client(['base_uri' => "http://localhost/wordpress/"]);
    $options = [
        'form_params' => [
            'title' => "Başlık",
            'content' => "İçerik",
            'images' => "Eklenecek Resim url adresi",
            'categories' => 1 //Kategori ne ise onun id adresini yazmanız yeterli
        ]
    ];
    $response = $client->post("bot.php", $options);
    <?php
    
    include "wp-config.php";
    require_once "wp-includes/wp-db.php";
    
    $my_post = array(
        'post_title' => wp_strip_all_tags($_POST["title"]),
        'post_content' => $_POST["content"],
        'post_author' => get_current_user_id(),
        'post_status' => 'publish',
        'post_category' => array($_POST["categories"])
    );
    
    $post_id = wp_insert_post($my_post);
    insertFeaturedImages($_POST["images"],$post_id);
    
    function insertFeaturedImages($image_url,$post_id){
        $upload_dir = wp_upload_dir();
        $image_data = file_get_contents($image_url);
        $filename = basename($image_url);
        if(wp_mkdir_p($upload_dir['path']))
            $file = $upload_dir['path'] . '/' . $filename;
        else
            $file = $upload_dir['basedir'] . '/' . $filename;
        file_put_contents($file, $image_data);
    
        $wp_filetype = wp_check_filetype($filename, null );
        $attachment = array(
            'post_mime_type' => $wp_filetype['type'],
            'post_title' => sanitize_file_name($filename),
            'post_content' => '',
            'post_status' => 'inherit'
        );
        $attach_id = wp_insert_attachment( $attachment, $file, $post_id );
        require_once(ABSPATH . 'wp-admin/includes/image.php');
        $attach_data = wp_generate_attachment_metadata( $attach_id, $file );
        $res1= wp_update_attachment_metadata( $attach_id, $attach_data );
        $res2= set_post_thumbnail( $post_id, $attach_id );
    }