WordPress

Cara Membuat Spoiler di Wordpress | Wordpress Spoiler Plugins

Oleh takien

spoiler

Menyembunyikan konten tertentu dari sebuah halaman website terkadang diperlukan untuk menghemat space. Ketika visitor ingin melihat konten yang tersembunyi tersebut mereka dapat dengan mudah menampilkannya. Dalam software forum semacam vBulletin, hal ini disebut dengan Spoiler.

Bagaimana cara membuatnya? Hanya diperlukan sedikit kode javascript yang langsung diembed di kode html. Kode ini saya colonk save as dari kaskus :D

[spoiler title="Test"]
Hello ini adalah text yang disembunyikan
[/spoiler]

Contoh diatas ditulis tanpa menggunakan spasi setelah tanda kurung buka [ dan sebelum tanda kurung tutup ]

Plugin Spoiler

<?php
/*
Plugin Name: WP Kaskus Spoiler
Plugin URI: http://takien.com/99/cara-membuat-spoiler.php
Description: This plugin to insert spoiler (like vBulletin) in wordpress. Usage: [spoiler title="Hello"]Your text here[/spoiler]
Author: Takien
Version: 1.0
Author URI: http://takien.com/
*/
add_shortcode('spoiler', 'spoiler_shortcode'); 
function spoiler_shortcode( $atts, $contents = null ) {
		extract( shortcode_atts( array(
		'title' => '',
		), $atts ) );

	$return = '
	<div style="margin: 5px 20px 20px;">
	<div class="smallfont" style="margin-bottom: 2px;"><b>Spoiler</b> for <i>'.esc_attr($title).'</i>: <input value="Show" style="width: 60px; font-size: 10px; margin: 0px; padding: 0px;" onclick="if (this.parentNode.parentNode.getElementsByTagName(\'div\')[1].getElementsByTagName(\'div\')[0].style.display != \'\') { this.parentNode.parentNode.getElementsByTagName(\'div\')[1].getElementsByTagName(\'div\')[0].style.display = \'\';        this.innerText = \'\'; this.value = \'Hide\'; } else { this.parentNode.parentNode.getElementsByTagName(\'div\')[1].getElementsByTagName(\'div\')[0].style.display = \'none\'; this.innerText = \'\'; this.value = \'Show\'; }" type="button">
	</div>
	<div style="background:#e1e4f2;margin: 0px; padding: 6px; border: 1px inset;"><div style="display:none">'.$contents.'</div></div>
	</div>';
	return $return;
}
?>

Tulisan ini sudah berumur: 17 tahun 9 bulan 28 hari. Informasi di dalamnya mungkin sudah tidak relevan, tapi nilai historisnya sangat berharga, terutama bagi saya sebagai penulisnya.

(Dipulihkan dari takien.com)

Tag Terkait: