peymanf11 0 ارسال شده در دی 96 گزارش بازنشر ارسال شده در دی 96 با عرض سلام و ادب خدمت همه دوستان بنده جدیدن وارد دنیای ورد پرس شدم ؛ لطفا منو راهنمائی بفرمائید ک چگونه باید پست ها رو بصورت اتوماتیک ب دیتابیس ارسال کنم. یه دیتابیس برای برنامه اندرویدی دارم و میخوام وقتی اون دیتابیس آپدیت میشه مطالب در دیتابیس وردپرس هم وارد بشه ، کد زیر رو از طریق سرچ در اینترنت برای تست بدست آوردم ، وقتی بصورت افزونه در ورد پرس قرار میدم اوکی ه و پست مد نظر در دیتابیس قرار میگیره ؛ حالا نمیدونم چطور و کجا باید اینو قرار بدم ، وقتی از حالت افزونه بودن در میارم کد با خطا مواجه میشه <?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'); ?> نقل قول لینک به ارسال
mehran-b 2385 ارسال شده در دی 96 گزارش بازنشر ارسال شده در دی 96 سلام و درود باید از همون تابع wp_insert_post که استفاده کردید استفاده کنید. باید یه API درست کنید که اپلیکیشن پست رو به اون API ارسال کنه و API هم درج کنه پست رو توی وردپرس. موفق باشید 2 نقل قول لینک به ارسال
peymanf11 0 ارسال شده در دی 96 مالک گزارش بازنشر ارسال شده در دی 96 در در 1/5/2018 at 21:57، mehran-b گفته است : سلام و درود باید از همون تابع wp_insert_post که استفاده کردید استفاده کنید. باید یه API درست کنید که اپلیکیشن پست رو به اون API ارسال کنه و API هم درج کنه پست رو توی وردپرس. موفق باشید با تشکر از شما دوست عزیز ، بنده اطلاعات رو در دیتابیس سرور ذخیره میکنم ، هنگام ذخیره کردن میتونم اطلاعات رو بفرستم واس ذخیره فقط نمیدونم کجا باید کدها رو قرار بدم ، کدها رو وقتی از داخل پوشه plugins موجود در پوشه wp-content خارج میکنم خطا میدن و اصلاا جرا نمیشن لطفا منو راهنمائی بفرمائید نقل قول لینک به ارسال
mehran-b 2385 ارسال شده در دی 96 گزارش بازنشر ارسال شده در دی 96 درود مجدد آها متوجه شدم. فایل 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 نقل قول لینک به ارسال
peymanf11 0 ارسال شده در دی 96 مالک گزارش بازنشر ارسال شده در دی 96 (ویرایش شده) در در 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'); ?> ویرایش شده دی 96 توسط peymanf11 نقل قول لینک به ارسال
mehran-b 2385 ارسال شده در دی 96 گزارش بازنشر ارسال شده در دی 96 به این شکل تست کنید. احتیاجی نیست قلابش کنید به اکشن 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 نقل قول لینک به ارسال
peymanf11 0 ارسال شده در دی 96 مالک گزارش بازنشر ارسال شده در دی 96 در در 1/5/2018 at 23:51، mehran-b گفته است : به این شکل تست کنید. احتیاجی نیست قلابش کنید به اکشن init. خیلی ممنونم دوست عزیز ، بسیار عالی پست انجام گرفت. فقط جسارتن ی سوال دیگه داشتم از تون ، آیا امکان داره کد موجود رو توی پوشه ای خارج از پوشه وردپرس بنویسم ؟ پوشه وردپرس توی قسمت روت سرورم هستش و من لازم دارم کدهای بالا رو توی قسمت public_html و درون پوشه ای ک اطلاعات رو استخراج و در دیتابیس مینویسم وارد کنم تا همزمان توی دیتابیس ورد پرسم هم وارد بشه ، آیا این امکان پذیر هستش ؟ و راستی آیا امکان داره این باعث بشه مدت زمان اجرای کدها خیلی طولانی بشه (بخاطر اینکلود کردن) خیلی ممنونم از شما ؛ سپاس بی پایان از شما نقل قول لینک به ارسال
mehran-b 2385 ارسال شده در دی 96 گزارش بازنشر ارسال شده در دی 96 درود مجدد نقل قول آیا امکان داره کد موجود رو توی پوشه ای خارج از پوشه وردپرس بنویسم ؟ بله ممکنه. باید توی آدرس دهی فایل 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 کل وردپرس رو لود میکنه سپس کدهای فایل شما رو اجرا میکنه. موفق باشید 2 نقل قول لینک به ارسال
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .