WordPress: minunea numită Shortcode


Ducem provocarea mai departe, pentru un plugin mai general. Pentru a nu mă întinde prea mult, mai jos e un cod pentru un YouTube şi Trilulilu (audio şi video). Am definit ca shortcode grupul de litere pl (de la player). Cu tip indicăm dacă e vorba de YouTube – yt sau de Trilulilu – ta pt audio şi tv pentru video. Similar am putea scrie cod pentru ca acest player să suporte şi materiale din alte surse (Metacafe, Viddler sau ce am mai putea dori). Extindeţi-l după bunul plac!

<?php
/**
Plugin Name: ShortcodeECoolD
Author URI: http://www.cnet.ro
Plugin URI: http://www.cnet.ro
Description: Doar de teste
Author: Eu insumi
Version: 9.9
*/
function functiaPL($atts, $content=null) {
	extract(shortcode_atts(array('tip'=>'yt','id' => '-','c1'=>'e1600f','c2'=>'febd01','w'=>'450'), $atts));
	if($tip=="yt"){
		//este clip youtube
		$h=ceil($w*349/425);
		return '<p align=center><object width="'.$w.'" height="'.$h.'"><param name="movie" '.
		'value="http://www.youtube.com/v/'.$id.'&hl=en&fs=1&rel=0&color1=0x'.$c1.'&color2=0x'.$c2.'&border=1">'.
		'</param><param name="allowFullScreen" value="true"></param><embed '.
		'src="http://www.youtube.com/v/'.$id.'&hl=en&fs=1&rel=0&color1=0x'.$c1.'&color2=0x'.$c2.'&border=1" '.
		'type="application/x-shockwave-flash" allowfullscreen="true" width="'.$w.'" height="'.$h.'"></embed></object></p>';
	}
	else if($tip=="ta" || $tip=="tv"){
		//este video sau audio trilulilu
		$us=substr($id,0,strpos($id,"/"));
		$ha=substr($id,strpos($id,"/")+1);
		if($tip=="ta"){
			$st="audio";
			$h=41;
		}else{
			$st="video";
			$h=ceil($w*362/440);
		}
		return '<p align=center><object width="'.$w.'" height="'.$h.'"><param name="movie" '.
		'value="http://www.trilulilu.ro/embed/flash.php?type='.$st.'&hash='.$ha.'&userid='.$us.'&src=hi5">'.
		'<param name="allowFullScreen" value="true"><param name="wmode" value="transparent"><embed '.
		'src="http://www.trilulilu.ro/embed/flash.php?type='.$st.'&hash='.$ha.'&userid='.$us.'&src=hi5" '.
		'type="application/x-shockwave-flash" wmode="transparent" allowfullscreen="true" width="'.$w.'" height="'.$h.'">'.
		'</embed></object></p>';
	}
}
add_shortcode('pl', 'functiaPL');
?>

Dacă scriem în articol:

vom obţine ceva de genul:


Pagini: 1 2

Apreciază articolul:

1 stea2 stea3 stea4 stea5 stea (4 evaluări, media: 5,00 din 5)
Se încarcă...

0 comentarii


Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *