Pangkal Dukungan > Pengembang > Konten Menonjol

Konten Menonjol

Dengan Konten Menonjol, pengguna dapat mengunggulkan pos mereka dan menampilkannya secara unik dengan tema. Konten dimaksudkan untuk ditampilkan di halaman depan blog; dengan menggunakan fitur secara konsisten dengan cara ini, pengguna memperoleh pengalaman Konten Menonjol yang dapat diandalkan bahkan saat beralih tema.

Untuk memulai, Anda dapat mengikuti langkah mudah berikut:

  1. Aktifkan dukungan tema untuk Konten Menonjol.
  2. Buka Tampilan → Penyesuaian, dan atur tag pada bagian Nama Tag di Konten Menonjol.
  3. Beri tag beberapa konten.

Untuk informasi lebih lanjut, harap baca terus artikel ini! Atau buka langsung tips penggunaan, langkah-langkah untuk menambahkan dukungan ke tema Anda, dan tips template.

Penggunaan

opsi konten andalan

Opsi Konten Menonjol seperti yang ditunjukkan dengan Twenty Fourteen.

Jika tema mendukung Konten Menonjol, Anda dapat mengaktifkan area Konten Menonjol dengan membuka Tampilan → Penyesuaian dan memasukkan nama tag ke kolom “Nama tag” di bagian “Konten Menonjol”. Jika Anda memasukkan nama tag yang tidak ada, tag baru akan dibuat untuk Anda. Setelah nilai ini diatur, pos yang dipublikasikan dan diberi tag dengan nilai ini akan disertakan dalam Area Konten Menonjol.

Anda dapat mengontrol jumlah pos andalan berdasarkan jumlah pos yang Anda beri tag dengan tag konten menonjol yang ditetapkan di atas. Secara default, Konten Menonjol akan menampilkan maksimum 15 pos, tetapi temanya mungkin menetapkan jumlah maksimum pos itu sendiri. Ini mungkin diperlukan jika tema menggunakan gambar andalan berukuran besar dalam penyajian Konten Menonjol, misalnya.

“Sembunyikan tag agar tidak ditampilkan di meta pos dan tag cloud” dapat dicentang untuk memastikan bahwa tag yang dipilih untuk Konten Menonjol tidak muncul dalam daftar tag pos atau widget Tag Cloud. Arsip tag akan terus ditampilkan dalam gaya normal.

Opsi “Tampilkan konten tag di semua daftar” dapat dicentang untuk memastikan tag Konten Menonjol ditampilkan di semua halaman dan arsip.

Menambahkan Dukungan ke Tema

Langkah pertama untuk menambahkan dukungan Konten Menonjol ke tema Anda adalah dengan memanggil add_theme_support() yang melewati 'featured-content' sebagai parameter utama. Panggilan ke add_theme_support() ini seharusnya terjadi selama tindakan after_setup_theme.

add_theme_support( 'featured-content', array(
	'filter'     => 'mytheme_get_featured_posts',
	'max_posts'  => 20,
	'post_types' => array( 'post', 'page' ),
) );

Parameter kedua, $args, adalah larik yang dapat berisi 3 nilai terpisah. Nilai pertama bersifat wajib, dan 2 lainnya bersifat opsional:

  • filter – Nama filter kustom yang digunakan untuk menampilkan konten andalan. Ini harus diberi prefiks dengan slug tema.
  • max_posts – Jumlah pos maksimum yang dapat ditampung dalam area tersebut. Tema mungkin hanya dapat menampung enam pos dalam area tersebut. Dalam kasus seperti ini, max_posts harus disetel ke enam.
  • post_types – Secara default, fitur Konten Menonjol hanya akan menarik pos. Namun, Anda bisa menambahkan dukungan Konten Andalan untuk tipe pos yang terdaftar dengan menetapkan argumen post_types (dalam bentuk string atau larik).

Fungsi Getter

Sebuah fungsi harus dibuat yang menampilkan nilai filter yang ditetapkan di add_theme_support( 'featured-content' ). Ini akan digunakan untuk menetapkan pos andalan ke variabel dalam file template.

function mytheme_get_featured_posts() {
	return apply_filters( 'mytheme_get_featured_posts', array() );
}

Fungsi Kondisional

Agar markup tidak dicetak dan skrip tidak diantrekan saat tidak diperlukan, kita dapat menetapkan fungsi untuk membantu membuat keputusan ini. Fungsi ini harus mengembalikan nilai Boolean dan menerima satu parameter tunggal. Parameter digunakan untuk mendeklarasikan jumlah minimum pos andalan yang diperlukan untuk mengembalikan nilai true (benar).

function mytheme_has_featured_posts( $minimum = 1 ) {
	if ( is_paged() )
		return false;

	$minimum = absint( $minimum );
	$featured_posts = apply_filters( 'mytheme_get_featured_posts', array() );

	if ( ! is_array( $featured_posts ) )
		return false;

	if ( $minimum > count( $featured_posts ) )
		return false;

	return true;
}

Misalnya, dalam kasus slider, kita dapat menggunakan mytheme_has_featured_posts() dalam berbagai cara untuk menambahkan markup dan skrip antrean. Karena slider hanya menampilkan satu pos sekaligus, kita mungkin memiliki markup yang perlu dihasilkan selama ada satu pos andalan, tetapi kita hanya perlu memasukkan JavaScript slider ke antrean jika ada dua pos atau lebih.

<!-- Found in our template file -->
<?php if ( mytheme_has_featured_posts( 1 ) ) : ?>
    <div class="featured-content">
        <?php get_template_part( 'content-featured' ); ?>
    </div>
<?php endif; ?>
// In functions.php, in a function hooked to wp_enqueue_scripts
if ( mytheme_has_featured_posts( 2 ) ) {
	wp_enqueue_script( 'mytheme-slider-script', get_template_directory_uri() . '/js/awesome-slider.js', array( 'jquery' ) );
}

Bagaimana saya bisa menambahkan gambar “fallback”?

Jika tidak ada Gambar Andalan yang ditetapkan untuk pos, Jetpack akan mencari slideshow, galeri, atau gambar tunggal yang Anda lampirkan atau sisipkan ke pos.

Namun, jika tidak ada gambar yang dikaitkan dengan pos, Gambar Andalan tidak akan muncul. Jika dalam kasus ini Anda ingin menampilkan gambar “fallback”, Anda dapat menambahkan cuplikan kode ke file functions.php tema Anda:

function jeherve_custom_image( $media, $post_id, $args ) {
	if ( $media ) {
		return $media;
	} else {
		$permalink = get_permalink( $post_id );
		$url = apply_filters( 'jetpack_photon_url', 'YOUR_LOGO_IMG_URL' );

		return array( array(
			'type'	=> 'image',
			'from'	=> 'custom_fallback',
			'src'	=> esc_url( $url ),
			'href'	=> $permalink,
		) );
	}
}
add_filter( 'jetpack_images_get_images', 'jeherve_custom_image', 10, 3 );

Template

Untuk menyelaraskan pengalaman pengguna di semua tema, kami telah mengembangkan konsep area konten menonjol halaman depan. Area ini akan selalu ditampilkan di “halaman depan” instalasi WordPress – dengan kata lain, area ini akan selalu dirender ketika is_front_page() mengembalikan true (benar). Bergantung pada desain tema dan pengaturan situs, is_front_page() mungkin mengembalikan true (benar) di beberapa template berbeda. Area Konten Menonjol harus dirender di template berikut jika ada di tema:

Tema yang menyertakan front-page.php

Template front-page.php akan selalu digunakan untuk merender halaman depan jika template ini ada di tema. Jika tema menyediakan template ini, ini adalah satu-satunya tempat area konten menonjol perlu ditambahkan.

Tema tanpa front-page.php

Jika front-page.php tidak disertakan dalam tema, area Konten Menonjol harus ditambahkan ke template berikut jika ada:

  • page.php
  • home.php
  • index.php
  • Semua template halaman khusus.
  • Daftar Isi