Hadi-h.p
2 سال پیش توسط Hadi-h.p مطرح شد
0 پاسخ

سینک کردن لاراول با وردپرس از طریق Rest API و حذف رکورد های تکراری

سلام و وقت بخیر دوستان عزیز،
من یک برنامه با لارول نوشتم که هر تعداد سایت وردپرسی رو میشه توش ادد کرد و از طریق لاراول میشه عمل CRUD رو برای پست های وردپرس انجام داد ولی الان وقتی من میخوام پست هایی که قبلا از اتصال به سایت من در وردپرس رو به سایت خودم انتقال بدم با مشکل مواجه شدم:
این سورس هام هستش

   $posts = Post::get();
        $wordpress = new \Wordpress($site->username, $site->password, $site->url);
        $wp_posts = $wordpress->get_posts();
        foreach ($wp_posts as $wp_post) {
            foreach ($posts as $post) {
                if ($post->wp_post_id != $wp_post->id) {
                    Post::create([
                        'site_id' => $site->id,
                        'wp_post_id' => $wp_post->id,
                        'title' => $wp_post->title->rendered,
                        'content' => $wp_post->content->rendered,
                        'status' => \Wordpress::POST_PUBLISH
                    ]);
                    if ($post->wp_post_id == $wp_post->id && $post->update_at !== $wp_post->modified) {
                        $update = ([
                            'title' => $wp_post->title->rendered,
                            'content' => $wp_post->content->rendered,
                        ]);
                        if ($post->update($update)) {
                            $post->update_at = $wp_post->modified;
                        }
                    }
                }
            }
        }

اولین مشکلم اینه که هربار که آپدیت میکنم پست های بین لاراول و وردپرس رو یک نسخه از اون پستی که در وردپرس هست باز اضافه میشه
دومیش اینه که اگه از طرف ورد پرس اگه یه پست update بشه نمیشه تو لاراول هم آپدیت بشه.
اگه کسی میتونه راهنمایی کنه ممنون میشم


ثبت پرسش جدید

به همدیگه کمک کنیم

به Hadi-h.p کمک کنید تا مشکل خودش را حل کند؛ این‌طور می‌توانیم با هم پیشرفت کنیم.

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام