رفتن به مطلب

ارسال اتوماتیک پست ها


پست های پیشنهاد شده

با عرض سلام  و ادب خدمت همه دوستان

 

بنده جدیدن وارد دنیای ورد پرس شدم ؛ لطفا منو راهنمائی بفرمائید ک چگونه باید پست ها رو بصورت اتوماتیک ب دیتابیس ارسال کنم.

 

یه دیتابیس برای برنامه اندرویدی دارم و میخوام وقتی اون دیتابیس آپدیت میشه مطالب در دیتابیس وردپرس هم وارد بشه ، کد زیر رو از طریق سرچ در اینترنت برای تست بدست آوردم ، وقتی بصورت افزونه در ورد پرس قرار میدم اوکی ه و پست مد نظر در دیتابیس قرار میگیره ؛ حالا نمیدونم چطور و کجا باید اینو قرار بدم ، وقتی از حالت افزونه بودن در میارم کد با خطا مواجه میشه :(

 

 

<?php


function AAb()
    {
        require('//wp-includes/post.php');

        $new_post = array(
        'post_title' => 'My New PostBBBBBBBBBBBBB2',
        'post_content' => 'matn...2',
        'post_status' => 'publish',
        'post_date' => date('Y-m-d H:i:s'),
        'post_author' => 1,
        'post_type' => 'post',
        'post_category' => array(5)
        );
        
        $post_id = wp_insert_post($new_post);
    
}

add_action('init', 'AAb');

?>

 

لینک به ارسال

سلام و درود

 

باید از همون تابع wp_insert_post که استفاده کردید استفاده کنید.

باید یه API درست کنید که اپلیکیشن پست رو به اون API ارسال کنه و API هم درج کنه پست رو توی وردپرس.

 

موفق باشید

لینک به ارسال
در در 1/5/2018 at 21:57، mehran-b گفته است :

سلام و درود

 

باید از همون تابع wp_insert_post که استفاده کردید استفاده کنید.

باید یه API درست کنید که اپلیکیشن پست رو به اون API ارسال کنه و API هم درج کنه پست رو توی وردپرس.

 

موفق باشید

 

 

 

با تشکر از شما دوست عزیز ، بنده اطلاعات رو در دیتابیس سرور ذخیره میکنم ، هنگام ذخیره کردن میتونم اطلاعات رو بفرستم واس ذخیره فقط نمیدونم کجا باید کدها رو قرار بدم ،
 

کدها رو وقتی از داخل پوشه plugins موجود در پوشه wp-content خارج میکنم خطا میدن و اصلاا جرا نمیشن :(

 

لطفا منو راهنمائی بفرمائید

 

لینک به ارسال

درود مجدد

 

آها متوجه شدم.

فایل wp-load.php واقع در روت وردپرس اصطلاحا فایل Bootstrap وردپرس هست.

این فایل رو باید به فایلی که توش میخواید از توابع وردپرس استفاده کنید اتچ کنید.

فرض کنید کنار فایل wp-load.php یه فایل درست کردیم مثلا به اسم test.php با محتویات زیر:

<?php


$new_post = array(
'post_title' => 'My New PostBBBBBBBBBBBBB2',
'post_content' => 'matn...2',
'post_status' => 'publish',
'post_date' => date('Y-m-d H:i:s'),
'post_author' => 1,
'post_type' => 'post',
'post_category' => array(5)
);

$post_id = wp_insert_post($new_post);

خوب وقتی test.php رو اجرا کنید ارور میده چون تابع wp_insert_post رو نمی شناسه ولی توی حالت زیر:

<?php

include(__DIR__ .'/wp-load.php');

$new_post = array(
'post_title' => 'My New PostBBBBBBBBBBBBB2',
'post_content' => 'matn...2',
'post_status' => 'publish',
'post_date' => date('Y-m-d H:i:s'),
'post_author' => 1,
'post_type' => 'post',
'post_category' => array(5)
);

$post_id = wp_insert_post($new_post);

دیگه تابع wp_insert_post ناشناخته نیست.

 

موفق باشید

لینک به ارسال
ارسال شده در (ویرایش شده)
در در 1/5/2018 at 23:26، mehran-b گفته است :

درود مجدد

 

...دیگه تابع wp_insert_post ناشناخته نیست.

 

موفق باشید

 

 

 

 

سپاس از شما دوست عزیز برای وقتی ک میذارید .

 

بنده طبق گفته شما include رو انجام دادم و و قتی مستقیم لینک رو در مرورگر میزنم بدون هیچ خطایی اجرا میشه حتی دستور echo هم متن رو چاپ میکنه توی مرورگر، اما متاسفانه هیچی در دیتابیس و جدول   wp_posts  ذخیره نمیشه ! :(

 

 

کد من بصورت زیر هستش :

 

<?php

include(__DIR__ .'/wp-load.php');

function AAb()
    {
        
        $new_post = array(
        'post_title' => 'POSSSSS t PostBBBBBBBBBBBBB2',
        'post_content' => 'matn...2',
        'post_status' => 'publish',
        'post_date' => date('Y-m-d H:i:s'),
        'post_author' => 1,
        'post_type' => 'post',
        'post_category' => array(5)
        );
        
        $post_id = wp_insert_post($new_post);
    
}
echo "AvvvvA";

add_action('init', 'AAb');

?>

 

ویرایش شده توسط peymanf11
لینک به ارسال

به این شکل تست کنید.

احتیاجی نیست قلابش کنید به اکشن init.

<?php

include(__DIR__ .'/wp-load.php');
        
$new_post = array(
  'post_title' => 'POSSSSS t PostBBBBBBBBBBBBB2',
  'post_content' => 'matn...2',
  'post_status' => 'publish',
  'post_date' => date('Y-m-d H:i:s'),
  'post_author' => 1,
  'post_type' => 'post',
  'post_category' => array(5)
);

$post_id = wp_insert_post($new_post);

 

لینک به ارسال
در در 1/5/2018 at 23:51، mehran-b گفته است :

به این شکل تست کنید.

احتیاجی نیست قلابش کنید به اکشن init.

 

 

خیلی ممنونم دوست عزیز ، بسیار عالی پست انجام گرفت.

 

فقط جسارتن ی سوال دیگه داشتم از تون ،

 

آیا امکان داره کد موجود رو توی پوشه ای خارج از پوشه وردپرس بنویسم ؟ 

 

پوشه وردپرس توی قسمت روت سرورم هستش و من لازم دارم کدهای بالا رو توی قسمت public_html و درون پوشه ای ک اطلاعات رو استخراج و در دیتابیس مینویسم وارد کنم تا همزمان توی دیتابیس ورد پرسم هم وارد بشه ، آیا این امکان پذیر هستش ؟

 

و راستی آیا امکان داره این باعث بشه مدت زمان اجرای کدها خیلی طولانی بشه (بخاطر اینکلود کردن)

 

 

خیلی ممنونم از شما ؛ سپاس بی پایان از شما

لینک به ارسال

درود مجدد

 

نقل قول

آیا امکان داره کد موجود رو توی پوشه ای خارج از پوشه وردپرس بنویسم ؟ 

بله ممکنه.

باید توی آدرس دهی فایل wp-load.php برگردید به روت.

به این شکل میشه.

<?php

include('../wp-load.php');
        
$new_post = array(
  'post_title' => 'POSSSSS t PostBBBBBBBBBBBBB2',
  'post_content' => 'matn...2',
  'post_status' => 'publish',
  'post_date' => date('Y-m-d H:i:s'),
  'post_author' => 1,
  'post_type' => 'post',
  'post_category' => array(5)
);

$post_id = wp_insert_post($new_post);

این یعنی یه پوشه برو عقب بعد wp-load.php رو اتچ کن.

 

نقل قول

و راستی آیا امکان داره این باعث بشه مدت زمان اجرای کدها خیلی طولانی بشه (بخاطر اینکلود کردن)

مدت زمان اجرای کد شما نسبت به حالتی که wp-load.php رو اتچ نکنید قطعا بالاتر میره چون فایل wp-load.php کل وردپرس رو لود میکنه سپس کدهای فایل شما رو اجرا میکنه.

 

موفق باشید

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...