You are currently viewing Cara Menampilkan Gambar Fitur Default di Tema oceanWP

Cara Menampilkan Gambar Fitur Default di Tema oceanWP

Saat mengembangkan atau menyesuaikan situs web dengan menggunakan tema OceanWP di WordPress, banyak pengembang dan pemilik situs yang menemui kesulitan saat ingin menampilkan gambar fitur default atau gambar cadangan ketika sebuah pos tidak memiliki gambar fitur.

Hal ini seringkali menjadi masalah, terutama jika Anda ingin memastikan situs Anda tetap estetik dan konsisten meskipun ada beberapa pos yang tidak dilengkapi dengan gambar.

Dalam artikel ini, kita akan membahas solusi tepat untuk masalah tersebut.

 

Menampilkan Gambar Default Feature Image jika Kosong

Persiapkan Gambar Default

Buat gambar yang Anda inginkan sebagai gambar default dan simpan dengan nama yang mudah dikenali, misalnya default-image.jpg. atau default-image.webp.

Ukuran gambar yang kami sarankan adalah 800 X 419 px atau 400 X 209 piksel.

1. Persiapkan gambar default
1. Persiapkan gambar default

Dalam panduan ini, kami menggunakan gambar default berikut:

default image
default-image.webp

Unggah Gambar ke Server Anda

Menggunakan klien FTP seperti FileZilla, akses server web Anda. Kemudian masuk ke /wp-content/themes/oceanwp/. Buat folder dengan nama images disana.

2. Buat folder images
2. Buat folder images

Unggah gambar default Anda (default-image.jpg) ke folder images tersebut.

3. upload gambar ke folder image
3. upload gambar ke folder ‘image’

Modifikasi File Tema:

Anda perlu menemukan fungsi the_post_thumbnail() di file-file tema Anda untuk menggantinya dengan kode yang disediakan.

Pada tema oceanWP, kode tersebut ada di dalam blog-single.php  yang berada di dalam direktori:

wp-content/themes/oceanwp/partial/single/media/blog-single.php

4. lokasi blog single.php dalam tema OceanWP
4. lokasi blog-single.php dalam tema OceanWP

Tambahkan Kode:

Cari bagian kode ini:

// Return if there isn't a thumbnail defined.
if ( ! has_post_thumbnail() ) {
return;
}

Kemudian, ganti dengan kode ini:

// Return if there isn't a thumbnail defined.
if ( has_post_thumbnail() ) {
the_post_thumbnail( 'full', $img_args );
} else {
?>
<img src="<?php bloginfo('template_directory'); ?>/images/default-image.jpg" alt="<?php the_title(); ?>" />
<?php
}

Jangan lupa gantikan default-image.jpg dengan nama file gambar Anda jika berbeda.

Simpan & Cek Situs Anda:

Simpan perubahan yang Anda buat di file-file tema. Kunjungi situs web Anda dan cek beberapa artikel. Artikel yang sebelumnya tidak memiliki thumbnail seharusnya sekarang menampilkan gambar default Anda.

 

Terdapat masalah Konflik

Penyebab

Jika terdapat masalah yang muncul, atau gambar fitur default masih tidak muncul, ada beberapa penyebab yang melatarbelakangi nya. Berikut adalah penjelasan masalah tersebut:

  1. Anda sudah menambahkan logic untuk menampilkan the_post_thumbnail atau gambar default di bagian atas. Namun, di bagian bawah, Anda kembali memanggil the_post_thumbnail, yang berarti thumbnail akan ditampilkan dua kali jika ada gambar thumbnail. Anda harus menghapus pemanggilan tersebut di bagian bawah.
  2. Selain itu, Anda mungkin ingin memindahkan beberapa kode yang berkaitan dengan atribut gambar ($img_args) ke bagian atas sebelum pemanggilan pertama the_post_thumbnail untuk memastikan bahwa atribut tersebut diterapkan dengan benar.

Ganti keseluruhan kode

Jika hal tersebut terjadi, lebih baik ganti semua kode yang ada, dengan keseluruhan kode berikut:

<?php
/**
 * Displays the post single thumbmnail
 *
 * @package OceanWP WordPress theme
 */


// Exit if accessed directly.
if ( ! defined( 'ABSPATH' ) ) {
exit;
}


// Define image alt text usage status.
$sp_seo_set = get_theme_mod( 'ocean_enable_sp_fimage_alt', false );
$sp_seo_set = $sp_seo_set ? $sp_seo_set : false;


// Retreive image alt text or use OceanWP default text if image alt text not set.
$spfe_img_alt = get_post_meta( get_post_thumbnail_id( get_the_ID() ), '_wp_attachment_image_alt', true );


$sp_fimage_alt = ( false === $sp_seo_set || ( true === $sp_seo_set && ! $spfe_img_alt ) ) ? esc_attr( oceanwp_theme_strings( 'owp-string-current-read', false ) ) . ' ' . get_the_title() : esc_attr( $spfe_img_alt );


// Image args.
$img_args = array(
'alt' => esc_attr( $sp_fimage_alt ),
);


if ( oceanwp_get_schema_markup( 'image' ) ) {
$img_args['itemprop'] = 'image';
}


?>


<div class="thumbnail">


<?php
if ( has_post_thumbnail() ) {
the_post_thumbnail( 'full', $img_args );
} else {
?>
<img src="<?php bloginfo('template_directory'); ?>/images/thumbnail.webp" alt="<?php the_title(); ?>" />
<?php
}


// Caption.
$caption = get_the_post_thumbnail_caption();
if ( $caption ) {
?>
<div class="thumbnail-caption">
<?php echo wp_kses_post( $caption ); ?>
</div>
<?php
}
?>


</div><!-- .thumbnail -->
Jika Anda ragu dengan menyalin dan mem-paste kode tersebut, Anda bisa mendapatkan kode php nya dari file ini: [download].
Dengan perubahan di atas, kode akan menampilkan thumbnail post (jika ada) atau gambar default di dalam elemen <div class="thumbnail">, dan juga akan menampilkan caption jika tersedia.
Pastikan juga bahwa kode gambar Anda sesuai dengan:/images/thumbnail.webp. Jika nama nya berbeda, silahkan ubah.

Menambahkan Gambar Fitur Default di halaman Archive

Perlu diketahui, tindakan diatas hanya akan memiliki efek bahwa gambar fitur default, hanya akan muncul di halaman tunggal saja. Jika Anda membuka halaman arsip, gambar default tidak akan muncul.

Oleh sebab itu, Anda perlu melakukan tindakan tambahan untuk mengatasinya. Ikuti panduan dibawah ini, untuk menampilkan gambar default di halaman arsip juga.

Buka file layout.php

Lokasi file ini, untuk tema oceanWP, ada di: oceanwp/partials/entry/layout.php

5. Lokasi layout.php
5. Lokasi layout.php

Cari dan tambahkan kode

Temukan kode ini:

// Featured Image.
if ( 'featured_image' === $element ) {
get_template_part( 'partials/entry/media/blog-entry', $format );
}

Kemudian ganti dengan kode ini:

// Featured Image.
if ( 'featured_image' === $element ) {
if ( has_post_thumbnail() ) {
get_template_part( 'partials/entry/media/blog-entry', $format );
} else {
echo '<div class="thumbnail-fallback">';
echo '<img src="' . esc_url( get_template_directory_uri() ) . '/images/default-image.webp" alt="lowongan magang mahasiswa" />';
echo '</div>';
}
}

Pastikan gambar sudah Anda unggah ke folder images yang telah Anda buat di langkah sebelumnya. Dan sebagai antisipasi, lebih baik unggah gambar nya dengan nama file ‘default-image.webp’, dan bukan nama file yang lain. Karena, kami sudah pernah mencoba mengunggah gambar dengan nama lain, dan hasil nya gambar tidak terlihat (rusak).

Berikut adalah tampilan bagian kode yang diubah

6. Tampilan kode yang di ubah
6. Tampilan kode yang di ubah

Setelah melakukan perubahan, simpan file dan periksa tampilan arsip blog Anda untuk memastikan gambar fallback muncul dengan benar.

Cek Hasil

Dengan perubahan di atas, jika postingan tidak memiliki gambar unggulan, maka gambar fallback (thumbnail.webp yang terletak di folder images dari tema Anda) akan ditampilkan.

Berikut adalah tampilan hasil nya.

7. Tampilan hasil gambar fitur default tema oceanWP
7. Tampilan hasil gambar fitur default tema oceanWP

Catatan: Jika Anda memilih Blog Style jenis “thumbnail”, maka gambar fitur default ini tidak akan muncul.

8. Tampilan gambar fitur untuj Blog Style jenis Thumbnail
8. Tampilan gambar fitur untuk Blog Style jenis Thumbnail

Solusinya, ganti tampilan nya ke jenis “Grid” atau “Large Image”. Silahkan masuk ke: Customization >> Blog >> Blog Entries. Lalu atur di bagian “Blog Style”.

9. Tampilan gambar fitur untuk Blog Style jenis Grid
9. Tampilan gambar fitur untuk Blog Style jenis Grid

Kustomisasi Alt Text (Optional)

Jika Anda ingin melakukan kustomisasi pada Alt text, cukup ubah teks “lowongan magang mahasiswa” dengan teks alternatif Anda sendiri.

 

Penutup

Menerapkan gambar fitur default di tema OceanWP memastikan bahwa situs Anda tetap terlihat profesional dan konsisten, bahkan saat ada konten tanpa gambar fitur.

Dengan mengikuti panduan di atas, Anda kini dapat dengan mudah menyesuaikan tampilan situs Anda sesuai keinginan. Ingatlah bahwa detail kecil seperti ini dapat meningkatkan pengalaman pengguna dan estetika situs Anda.

Selamat mencoba, dan semoga situs Anda selalu tampil menarik di mata pengunjung!

Leave a Reply