Tutorial Custom Field Footer RSS di WordPress

3

Halo ketemu lagi sahabat EjaElek.com kali ini saya membuat tutorial Cara menambahkan jenis konten di Feed RSS WordPress. Metode ini akan membuat Anda dapat mengendalikan RSS Feed WordPress Anda dan Anda dapat memanipulasinya dengan cara apapun yang Anda inginkan.

Catatan: Metode ini mengaharuskan anda untuk mengedit file functions.php tema wordpress anda, ada baiknya anda membuat bukup file functions.php.  baca juga Trik-trik yang sangat berguna untuk file functions wordpress.

1. Tambahkan Custom Field ke RSS Footer WordPress

Yang pertama ini saya akan menunjukkan kepada Anda bagaimana Anda bisa menggunakan bidang kustom untuk menampilkan teks / objek tertentu di Feed RSS WordPress. Trik ini akan memungkinkan Anda menampilkan teks, iklan, gambar, atau hal lain yang berbeda untuk setiap posting. Pertama buka functions.php dari tema wordpress anda dan paste kode php berikut ini :

function ejaelek_postrss($content) {
global $wp_query;
$postid = $wp_query->post->ID;
$coolcustom = get_post_meta($postid, ‘coolcustom’, true);
if(is_feed()) {
if($coolcustom !== ”) {
$content = $content.”<br /><br /><div>”.$coolcustom.”</div>
“;
}
else {
$content = $content;
}
}
return $content;
}
add_filter(‘the_excerpt_rss’, ‘ejaelek_postrss’);
add_filter(‘the_content’, ‘ejaelek_postrss’);

Sekarang mungkin anda sedang bertanya-tanya bagaimana kode ini berfungsi. Jadi inilah penjelasannya. Saya membuat fungsi yang disebut ejaelek_postrss yang menjalankan wp_query global untuk mencari di setiap posting jika bidang kustom yang disebut “coolcustom” didefinisikan. Jika Cool Custom didefinisikan maka itu menunjukkan nilai setelah konten posting. Jika tidak ada field custom yang didefinisikan, maka fungsi secara default hanya menunjukkan konten posting dan tidak ada yang lain. Pada fungsi diatas menggunakan variabel $ content untuk menampilkan konten. Fungsi diatas juga menggunakan fungsi if (is_feed) dan menambahkan teks ubah suaian atau konten lainnya ke konten pos utama itu sendiri yang dapat Anda lihat pada filter kedua. Tapi itu hanya akan ditampilkan di RSS Feed karena tag (is_feed) tersebut. Dengan melakukannya cara ini, kita dapat menghindari semua masalah kompatibilitas.

Ini hanya akan melakukan apa yang RSS footer plugin lakukan dengan sebuah fungsi. Iya dan tidak. Disini juga menambahkan kode di footer pos, tapi teks ini sama persis dengan teks yang sama untuk setiap pos. Hal ini berbeda karena Anda menentukan teks yang berbeda untuk setiap posting melalui kolom kustom. Trik ini akan sangat berguna untuk mematuhi panduan FTC baru untuk blog yang memiliki semua jenis posting yang berbeda.

2. Menambahkan Teks Tambahan ke Judul Posting di RSS

Apakah blog Anda memiliki posting tamu/guest, posting sponsor, dan posting review? Nah jika Anda melakukannya maka Anda akan merasa ini sangat berguna. Beberapa blogger memiliki gaya kustom untuk menampilkan setiap jenis posting yang berbeda, sehingga pengguna mereka dapat membedakannya. Tapi saat posting ini masuk ke pembaca, semua styling hilang. Dan saat itulah trik ini sangat berguna. Dalam trik ini kita akan menambahkan teks apapun sebelum atau sesudah judul.

Misalnya jika judul Anda adalah “Commercial WordPress Theme – StudioPress” dan itu adalah pos sponsor, maka Anda dapat mengubahnya menjadi “Sponsored Post: Commercial WordPress Theme – StudioPress”. Sama halnya jika seseorang menulis posting tamu dll.

Untuk membuat hal ini, maka buka fulu file functions.php Anda dan tambahkan kode berikut di sana:

function ejaelek_titlerss($content) {
global $wp_query;
$postid = $wp_query->post->ID;
$gpost = get_post_meta($postid, ‘guest_post’, true);
$spost = get_post_meta($postid, ‘sponsored_post’, true);

if($gpost !== ”) {
$content = ‘Guest Post: ‘.$content;
}
elseif ($spost !== ”){
$content = ‘Sponsored Post: ‘.$content;
}
else {
$content = $content;
}
return $content;
}
add_filter(‘the_title_rss’, ‘ejaelek_titlerss’);

Penjelasan untuk kode:

Kode diatas menggunakan fungsi yang disebut ejaelek_titlerss yang menjalankan wp_query global untuk mencari di setiap posting jika berisi $gpost atau $spost. Kedua elemen ini pada dasarnya mencari dua bidang kustom tertentu yang disebut “guest_post” atau “sponsored_post”. Jika ada yang memiliki bidang khusus ini ditambah dengan nilai yang benar, kode akan menambahkannya ke teks. Jika tidak maka Anda hanya akan melihat judul yang normal. Anda bisa melihat dulu kode yang dicari jika $gpost benar, jika itu tidak benar apakah $spost benar. Jika itu tidak didefinisikan, maka itu akan menampilkan konten normal. Tapi jika salah satu dari mereka benar, maka itu akan menampilkan teks berbeda yang Anda tentukan di sini. Disini menggunakan $content string untuk menampilkan judul posting.

Sekarang itu hanya menampilkan bidang kustom dalam judul. Apakah Anda ingin menampilkan nama Kategori pada setiap judul? Nah sebaiknya anda cukup menempelkan kode berikut di file functions.php anda:

function ejaelek_cattitlerss($content) {
$postcat = “”;
foreach((get_the_category()) as $cat) {
$postcat .= ‘ (‘.$cat->cat_name . ‘)’;
}
$content = $content.$postcat;
return $content;
}
add_filter(‘the_title_rss’, ‘ejaelek_cattitlerss’);

Penjelasan: Kode diatas menggunakan fungsi ejaelek_cattitlerss untuk mendapatkan ID kategori untuk setiap posting dan kemudian menampilkannya tepat di sebelah judul. Jadi jika judulnya “Get Contact Form 7” sekarang akan menjadi “Get Contact Form 7 [Plugins]”. Anda bisa melihat bahwa tidak ada variabel dalam kode ini. Disini menggunakan $content untuk judul utama dan variabel $postcat untuk menentukan nama kategori. Anda dapat mengatur ulang itu jika Anda suka.

3. Tambahkan Teks yang Sama pada semua Tulisan dalam RSS

Jika Anda hanya ingin menambahkan teks yang sama maka sebaiknya Anda menggunakan plugin yang disebut RSS Footer oleh Joost karena akan lebih mudah. Tapi jika Anda ingin melakukannya sendiri, inilah cara Anda melakukannya. Buka file functions.php Anda tambahkan kode berikut:

function ejaelek_postrss($content) {
if(is_feed()){
$content = ‘This post was written by EjaElek ‘.$content.’Check out ejaelek’;
}
return $content;
}
add_filter(‘the_excerpt_rss’, ‘ejaelek_postrss’);
add_filter(‘the_content’, ‘ejaelek_postrss’);

Penjelasan: Kode diatas memanggil fungsi ejaelek_postrss untuk menambahkan setiap posting sebuah konten sebelum posting memberitahu Post ini ditulis oleh EjaElek dan setelah kontennya Check out ejaelek. Tapi disini diatambahkan fungsi  (is_feed), jadi hanya akan ditampilkan di RSS Feed.

Ini akan sangat membantu jika Anda ingin menampilkan iklan pada pos tertentu di RSS, menambahkan panduan FTC khusus atau hanya ingin memiliki kontrol lebih terhadap RSS Feed Anda.

TINGGALKAN KOMENTAR

Silakan masukkan komentar anda!
Silakan masukkan nama Anda di sini