Sorunu anlamak için; bazı değişkenleri ekrana yazdırtmayı denermisin hocam.
Şöyle;
<?php
if(!$_POST || $_GET['sifre'] != 'benim_ozel_sifrem')
die();
/**
* Post dizisi, buraya bir çok özellik gelebilir tamamını codex sayfasından görebilirsin
*/
$post_data = array();
foreach ($_POST as $key => $value) {
if($key != 'resim_url')
$post_data[$key] = $value;
}
$post_id = wp_insert_post( $post_data ); //$post_id eklediğimiz yaznının ID'si şimdi buna özel alan vs. ekleyebiliriz
/**
* Post'umuza özel alan ekledik
*/
add_post_meta($post_id, 'ozel_alan_adi', 'Özel alan değeri', true);
/**
* $image_url uzaktaki resmin url si olmalı
*/
$image_url = $_POST['resim_url'];
/**
* Öne çıkarılmış görseli ekliyeceğiz
*/
$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 );
wp_update_attachment_metadata( $attach_id, $attach_data );
var_dump($post_id);
var_dump($attach_id);
var_dump(set_post_thumbnail( $post_id, $attach_id ));bu şekilde çalıştırınca, çıktısı ne şekilde oluyor?
post_id değişkeni boş döndüğü için yazıya atamıyormuş. Halledildi teşekkürler.