Laravel Code

Laravel Corcel Untuk Integrasi dengan Wordpress

Iman Sugirman Iman Sugirman Follow 10 May 2019 · 3 mins read
Laravel Corcel Untuk Integrasi dengan Wordpress

Saat ini banyaknya fitur Laravel menjadi kemudahan buat kita untuk saling terintegrasi dengan banyak platform lain. Misalnya saja sekarang kita akan mengintegrasikan Laravel dengan Wordpress Menggunakan Package Laravel Corcel dan Mari kita Mulai menginstall :

composer require jgrossi/corcel

Jangan lupa Masukan di config/app.php package Corcel ini agar bisa mengakses / menggunakan Full CorcelServiceProvider

'providers' => [
    /*
     * Package Service Providers...
     */
    Corcel\Laravel\CorcelServiceProvider::class,
]

dan sekarang bisa kita publish untuk vendor Corcel ini :

php artisan vendor:publish --provider="Corcel\Laravel\CorcelServiceProvider"

Setup Database Untuk Mengakses Data Wordpress

Setup bagian config/database.php dengan memasukan data wp-config.php kamu. Seperti ini :

// File: /config/database.php

'connections' => [

    'mysql' => [ // for Laravel database
        'driver'    => 'mysql',
        'host'      => 'localhost',
        'database'  => 'mydatabase',
        'username'  => 'admin'
        'password'  => 'secret',
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => '',
        'strict'    => false,
        'engine'    => null,
    ],

    'wordpress' => [ // for WordPress database (used by Corcel)
        'driver'    => 'mysql',
        'host'      => 'localhost',
        'database'  => 'mydatabase',
        'username'  => 'admin',
        'password'  => 'secret',
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => 'wp_',
        'strict'    => false,
        'engine'    => null,
    ],
],

Dan jika kamu membutuhkan Settingan untuk Default bisa ubah di config/corcel.php. Ubah untuk connection nya ke arah settingan wordpress yang kita buat di config/database.php tadi seperti ini :

'connection' => 'wordpress',

Baik setelah semua setup selesai mari kita coba dengan implementasi di Controller dan View Laravel :

php artisan make:controller PostController -r

Buat file dan folder dengan urutan seperti ini views/posts/index.php untuk membuat Post Foreach atau Looping untuk semua Post yang ada di wordpress. Untuk pengaturan PostController bisa masukan ini :


<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Models\Post;

class PostController extends Controller 
{
    public function index()
    {
        // All published posts
        $posts = App\Post::all(); // using the 'foo-bar' connection

        return view('posts.index', compact('posts'));

    }
}

di functions index dan buatlah Model dengan memasukan perintah :

php artisan make:model Post

Gunakan Package si Corcel ini untuk memanggil Type post dari Wordpress kamu :

<?php // File: app/Post.php

namespace App;

use Corcel\Model\Post as Corcel;

class Post extends Corcel
{
    protected $connection = 'wordpress';

    public function customMethod() {
        //
    }
}

Sekarang kita buka file views/posts/index.php dan kita ubah seperti ini :

@extends('layouts.app')

@section('title', 'Post')

@section('content')
    <div class="container">
        <div class="row justify-content-center">
            <div class="card">
                <div class="card-header bg-transparent">
                    Post
                </div>
                <div class="card-body">
                    @foreach ($posts as $posts)
                        <h5 class="card-title"> $posts->post_title </h5>
                        <p class="card-text">{!! $posts->post_content !!}</p>
                    @endforeach
                </div>
            </div>
        </div>
    </div>

@endsection

Dapatkan Email Setiap Minggu

No Spam, No JibJab!
Iman Sugirman

Written by Iman Sugirman Follow

Web Designer & Developer was 4 years experience in Web Development. Have Secret Sauce Recipe for Create Awesome Website