PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : تنظیم تصویر شاخص در ارسال پست از راه دور با استفاده از xmlrpc



mgt1234
May 12th, 2016, 21:49
سلام دوستان
ممنون میشم اینو دیگه جواب بدید!
ما با استفاده از اسکریپت از راه دور با استفاده از xmlrpc پست ارسال میکنیم روی سایت
یه مشکلی داریم اونم اینه که میخواییم تصویری که به اسکریپت میدیم رو بعنوان تصویر شاخص قرار بده
چه کدی باید قرار بدیم که ما لینک رو بدیم و این بیاد تصویر رو آپلود کنه توی رسانه وردپرس خودمون و بعنوان تصویر شاخص قرارش بده؟
لازم به ذکره که داخل پستمون تصویری نداریم وگرنه با استفاده از افزونه اتوماتیک تصویر شاخص رو تنظیم میکردیم.

T.Toosi
May 12th, 2016, 22:14
http://stackoverflow.com/questions/17722743/attach-image-to-post-in-wordpress-xmlrpc

mgt1234
May 12th, 2016, 22:27
http://stackoverflow.com/questions/17722743/attach-image-to-post-in-wordpress-xmlrpc

متاسفانه متوجه نشدم!

mgt1234
May 13th, 2016, 01:00
کسی نیست یه توضیح فارسی بده ما این مشکلمون رو حل کنیم؟؟
توی انجمنای خارجی زیاد گشتم اما هیچکدوم کارمو راه ننداخت، نفهمیدم لینک تصویر مورد نظرمو کجای کد باید قرار بدم!!!

T.Toosi
May 13th, 2016, 01:22
شما ابتدا از این کتابخوانه (http://scripts.incutio.com/xmlrpc/) استفاده کنید، بعد که فراخوانی کردید :


$myFile = "test.jpg";
$fh = fopen($myFile, 'r');
$fs = filesize($myFile);
$theData = fread($fh, $fs);
fclose($fh);




ساخت کلاینت :


$usr = 'admin';
$pwd = 'admin';
$xmlrpc = 'http://localhost/wordpress/xmlrpc.php';
$client = new IXR_Client($xmlrpc);

$params = array('name' => 'test.jpg', 'type' => 'image/jpg', 'bits' => new IXR_Base64($theData), 'overwrite' => false);







اکسکیوت آپلود عکس :


$res = $client->query('wp.uploadFile',1, $usr, $pwd, $params);




دربازگشت res را پرینت کنید باید آیدی فایل آپلود شده را برگردانده باشد.

mgt1234
May 13th, 2016, 01:35
شما ابتدا از این کتابخوانه (http://scripts.incutio.com/xmlrpc/) استفاده کنید، بعد که فراخوانی کردید :


$myFile = "test.jpg";
$fh = fopen($myFile, 'r');
$fs = filesize($myFile);
$theData = fread($fh, $fs);
fclose($fh);




ساخت کلاینت :


$usr = 'admin';
$pwd = 'admin';
$xmlrpc = 'http://localhost/wordpress/xmlrpc.php';
$client = new IXR_Client($xmlrpc);

$params = array('name' => 'test.jpg', 'type' => 'image/jpg', 'bits' => new IXR_Base64($theData), 'overwrite' => false);







اکسکیوت آپلود عکس :


$res = $client->query('wp.uploadFile',1, $usr, $pwd, $params);




دربازگشت res را پرینت کنید باید آیدی فایل آپلود شده را برگردانده باشد.

خیلی ممنون
الان با این کدها پس از ارسال یک فایل به نام test.jpg داخل رسانه آپلود میشه
حالا دوتا مشکل هست :
1. وقتی بجای test.jpg مثلا لینک یه عکسی رو قرار میدم درست آپلود نمیکنه!
2. الان این فقط آپلود میکنه، چیکار کنم همونو بعنوان تصویر شاخص قرار بده؟

- - - Updated - - -

فرض کنید من میخوام با این کد عکس رو فراخوانی کنم و بدم اسکریپت آپلود کنه :
$Response['Aks']
اینو داخل کد چجوری جاسازی کنم که درست کار کنه؟

T.Toosi
May 13th, 2016, 01:49
برای عکس از لینک :


$theData = file_get_contents($Response['Aks']);


لیست پارامتر های wp.newPost :


int blog_id
string username
string password
struct content
string post_type
string post_status
string post_title
int post_author
string post_excerpt
string post_content
datetime post_date_gmt | post_date
string post_format
string post_name: Encoded URL (slug)
string post_password
string comment_status
string ping_status
int sticky


به جای 20562 آیدی عکس آپلود شده را قرار دهید :


$params = array('post_title' => 'TEST', 'post_content' => 'TEST', 'post_thumbnail' => 20562);
$res = $client->query('wp.newPost',0, $usr, $pwd, $params);

mgt1234
May 13th, 2016, 02:04
برای عکس از لینک :


$theData = file_get_contents($Response['Aks']);


لیست پارامتر های wp.newPost :


int blog_id
string username
string password
struct content
string post_type
string post_status
string post_title
int post_author
string post_excerpt
string post_content
datetime post_date_gmt | post_date
string post_format
string post_name: Encoded URL (slug)
string post_password
string comment_status
string ping_status
int sticky


به جای 20562 آیدی عکس آپلود شده را قرار دهید :


$params = array('post_title' => 'TEST', 'post_content' => 'TEST', 'post_thumbnail' => 20562);
$res = $client->query('wp.newPost',0, $usr, $pwd, $params);


یه دنیا ممنون
مشکل آپلود عکس حل شد!
اما در مورد قرار دادنش بعنوان تصویر شاخص هنوز مشکل دارم!
آیدی عکس آپلود شده که آیدی مشخصی نداره هربار عکسای مختلفی قراره آپلود بشه!
برای آیدی چی باید قرار بدم در این صورت؟
اگه همینی که آپلود میکنه رو بعنوان تصویر شاخص قرار بده دیگه تمومه :)

mgt1234
May 14th, 2016, 15:16
مشکل رفع شد.
ممنون :53: