Menampilkan Konten Blogspot di WordPress

Cara Menampilkan Konten dari Blogspot di Wordpress

Ini adalah bagian inti. Mari kita mulai melakukannya.

  1. Buat Shortcode

    Di halaman WordPress, kita akan menggunakan Shortcode. Ini agar kita lebih fleksibel dalam menerapkannya. Contohnya hanya menempelkan seperti ini: [shortcode_blogspot]. Dalam kasus ini, yang menjadi shortcode kita adalah [kegiatan-lubis]

    Buat file .php ini. Bila Anda menggunakan Plugin Code Snippet, itu justru bisa dilakukan melalui Dashboard WP.

    /**
     * Shortcode: [kegiatan-lubis]
     * Menampilkan 3 artikel terbaru dari label "Kegiatan" di lubis.id
     * dengan thumbnail, ringkasan, dan tanggal.
     */
    
    add_shortcode('kegiatan-lubis', function() {
        // URL feed Blogger untuk label "Skripsi"
        $feed_url = 'https://www.lubis.id/feeds/posts/default/-/Skripsi?alt=json&max-results=3';
        
        // Ambil data feed
        $response = wp_remote_get($feed_url);
        if (is_wp_error($response)) {
            return '<p>Tidak dapat mengambil data dari lubis.id</p>';
        }
    
        $body = wp_remote_retrieve_body($response);
        $data = json_decode($body, true);
    
        if (empty($data['feed']['entry'])) {
            return '<p>Tidak ada artikel ditemukan.</p>';
        }
    
        $output = '<div class="artikel-skripsi-grid" style="display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:20px;">';
    
        foreach ($data['feed']['entry'] as $entry) {
            // Ambil judul
            $title = esc_html($entry['title']['$t']);
    
            // Ambil URL posting
            foreach ($entry['link'] as $link) {
                if ($link['rel'] == 'alternate') {
                    $post_url = esc_url($link['href']);
                    break;
                }
            }
    
            // Ambil tanggal
            $published = date('d M Y', strtotime($entry['published']['$t']));
    
            // Ambil thumbnail (dari media:thumbnail atau isi konten)
            $thumbnail = '';
            if (isset($entry['media$thumbnail']['url'])) {
                $thumbnail = $entry['media$thumbnail']['url'];
            } elseif (preg_match('/<img[^>]+src="([^">]+)"/', $entry['content']['$t'], $matches)) {
                $thumbnail = $matches[1];
            }
    
            // Ambil deskripsi singkat
    		$summary_raw = $entry['summary']['$t'];
    
    		// Hapus tag <style> dan isinya
    		$summary_clean = preg_replace('/<style\b[^>]*>(.*?)<\/style>/is', '', $summary_raw);
    
    		// Hapus tag HTML lain dan potong ringkasan
    		$summary = wp_strip_all_tags($summary_clean);
    		$summary = wp_trim_words($summary, 25, '...');
    
    
            $output .= '
            <div class="artikel-skripsi-item" style="border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#fff;">
                <a href="'.$post_url.'" target="_blank" style="text-decoration:none;color:inherit;">
                    '.($thumbnail ? '<img class="aspect-video" src="'.$thumbnail.'" alt="'.$title.'" style="">' : '').'
                    <div style="padding:15px;">
                        <h3 class="line-clamp-2" style="font-size:18px;margin:0 0 8px 0;">'.$title.'</h3>
                        <p class="line-clamp-3" style="font-size:14px;color:#666;margin:0 0 10px 0;">'.$summary.'</p>
                        <span style="font-size:12px;color:#999;">'.$published.'</span>
                    </div>
                </a>
            </div>';
        }
    
        $output .= '</div>';
    
        return $output;
    });
  2. Tempel Shortcode di WordPress

    Sekarang, kita sudah memiliki Shortcode, yang dapat ditempel. Anda dapat menempelkannya dimana saja akan ditampilkan. Misalnya, kita menggunakan halaman homepage custom. Buka halaman, tempelkan shortcode [kegiatan-lubis].

About the author

Reza Noprial Lubis
Bercita besar, memulai yang kecil, bergerak cepat.

Posting Komentar