Un petit shortcode qui va vous permettre d'afficher des post facebook directement dans vos pages :
[== Indéfini ==]
function facebook_php_func($atts, $content = null) {
$actual_link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
$s='<section>
<p>';
$s.= '
<div id="fb-root"></div>
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/fr_FR/sdk.js#xfbml=1&version=v2.0";
fjs.parentNode.insertBefore(js, fjs);
}(document, "script", "facebook-jssdk"));</script>
<div class="fb-comments" data-href="'.$actual_link.'" data-width="100%" data-numposts="10" data-colorscheme="light"></div>
';
$s.='</p>
</section>';
return $s;
}
add_shortcode('WFACEBOOK', 'facebook_php_func');
code a mettre dans le fichier de config.php du thème
usage : n'importe ou par declaration de la balise [WFACEBOOK].
exemple ici en bas de page
]]>[== Indéfini ==]
function youtube_function($atts) {
extract(shortcode_atts(array(
"src" => 'http://',
"width" => '475',
"height" => '350',
"origin" => 'http://',
"controls"=> '1',
"frameborder"=> '0',
"autoplay"=> '1',
"loop"=> '1',
), $atts));
return '<iframe id="ytplayer" type="text/html" width="'.$width.'" height="'.$height.'"
src="'.$src.'?autoplay='.$autoplay.'&origin='.$origin.'&loop='.$loop.'&control='.$control.'"
frameborder="'.$frameborder.'"/>';
}
// Optional attributes: width, height, name, allowFullScreen, allowScriptAccess, controls
// [youtube src="http://www.youtube.com/embed/M7lc1UVf-VE" width="600" height="450"]
add_shortcode("youtube", "youtube_function");
Usage
[== Indéfini ==]
[youtube src="http://www.youtube.com/embed/M7lc1UVf-VE" width="600" height="450"]
supreme-shortcodes
bootstrap-3-shortcodes
shortcode-reference
easy-bootstrap-shortcodes : très intéressant il permet de rajouter les boutons dans tynimce (on peux presque copier coller le code)
wordpress TinyMCE_Custom_Buttons
guide-to-creating-your-own-wordpress-editor-buttons
wordpress-shortcodes-page-builders
siteorigin-panels -> un builder gratuit
3-wordpress-page-builder-plugins
les-widgets-wordpress
Déclaration config.php
[== Indéfini ==]
function googlechart_function( $atts ) {
extract(shortcode_atts(array(
'data' => '',
'type' => 'pie',
'title' => 'Chart',
'labels' => '',
'size' => '640x480',
'advanced' => '',
'bg' => 'FFFFFF',
'colors' => '',
), $atts));
switch ($type) {
case 'line' :
$chartype = 'lc';
break;
case 'pie' :
$chartype = 'p3';
break;
case 'xline' :
$chartype = 'lxy';
break;
case 'sparkline' :
$chartype = 'ls';
break;
case 'meter' :
$chartype = 'gom';
break;
case 'scatter' :
$chartype = 's';
break;
case 'venn' :
$chartype = 'v';
break;
case 'vpied' :
$chartype = 'p';
break;
default :
$chartype = $type;
break;
}
$attributes = '';
if ($title) $attributes .= '&chtt='.$title.'';
if ($labels) $attributes .= '&chl='.$labels.'';
if ($colors) $attributes .= '&chco='.$colors.'';
$attributes .= '&chs='.$size.'';
$attributes .= '&chd=t:'.$data.'';
$attributes .= '&chf='.$bg.'';
return '<img title="'.$title.'" src="http://chart.apis.google.com/chart?cht='.$chartype.''.$attributes.$advanced.'" alt="'.$title.'" />';
}
add_shortcode('googlechart', 'googlechart_function');
?>
Usage:
Population d'australie :
[== PHP ==]
<?php
[googlechart data="7238819,5547527,4516361,1644642,507626,229675,127532,2296411,358894" bg="F7F9FA" labels="NSW|Victoria|Queensland|South Australia|Tasmania|Northern+Territory|Darwin|Western Australia|ACT" colors="058DC7,81feb6,ff8080,1601d1,50B432,ff0f0f,800040,ED561B,EDEF00" size="445x200" title="Australian Population" type="pie"]
Sparkline (sparkline)
[== Indéfini ==]
[googlechart data="0,22,24,26,28,100,90,80,70,65,20,80,30,50,20,30" bg="F7F9FA" size="445x100" type="sparkline"]
Google o meters
[== Indéfini ==]
[googlechart data="30" bg="F7F9FA" labels="low" colors="00ff40,009d27,ffc22f,d89b07,ffa346,d89b07,ff6666,ff0f0f" size="445x200" title="Fire Danger" type="gom"]
Ce shortcode permet d'appeler n'importe quel plugin actif à l'intérieur d'une page, en écrivant un code du type :
[== Indéfini ==]
[plxplugin plugin="nom_du_plugin" param1="..." param2="..." param3="..."]
Code a insérer dans config.php du thème :
[== PHP ==]
<?php
/* ---------------------------- FONCTION SHORTCODE plxplugin ---------------------------------*/
// Ce shortcode permet d'appeler n'importe quel plugin actif à l'intérieur d'une page,
// en écrivant un code du type :
// [plxplugin plugin="nom_du_plugin" param1="..." param2="..." param3="..."]
//
// Si le plugin affiche un contenu avec echo, celui-ci est récupéré et retourné par le shortcode
// Sinon, si le plugin renvoie une valeur, celle-ci est retournée directement
// => pour différencier ce dernier cas (moins courant), écrire plugin="val-nomduplugin" au lieu de plugin="nomduplugin"
function plxplugin_func($tab_atts) {
$atts = shortcode_atts(array("plugin" =>"", "txtdebut"=>"", "txtfin"=>""), $tab_atts);
extract($atts, EXTR_OVERWRITE);
unset($tab_atts["plugin"], $tab_atts["txtdebut"], $tab_atts["txtfin"]); // attributs inutiles à transmettre au plugin
$plxShow = plxShow::getInstance(); // pour appeler les fonctions de la classe plxShow
// Si le nom du plugin est précédé de "val-", c'est qu'il renvoie une valeur qui sera retournée directement
// Sinon, le plugin affiche lui-même le contenu, qu'il faut intercepter pour pouvoir la retourner
if (substr($plugin, 0, 4)=="val-") {
$plugin_retourne_valeur = true;
$plugin = substr($plugin, 4); // suppression des 4 premiers caractères "val-" qui précèdent le nom du plugin
}
else { $plugin_retourne_valeur = false; }
// Vérification de l'existence du plugin, avant de l'appeler, pour éviter tout message d'erreur
if ( ! empty($plxShow->plxMotor->plxPlugins->aPlugins[$plugin]) ) {
// Appel de la fonction du plugin par son nom $plugin avec transfert du tableau de paramètres $tab_atts
if ($plugin_retourne_valeur) { // Si le plugin renvoie le contenu sous forme de variable
$resultplugin = $plxShow->plxMotor->plxPlugins->aPlugins[$plugin]->$plugin($tab_atts);
return $txtdebut . $resultplugin . $txtfin;
}
else { // Si le plugin affiche directement le contenu avec "echo"
ob_start();
$plxShow->plxMotor->plxPlugins->aPlugins[$plugin]->$plugin($tab_atts);
$resultplugin = ob_get_clean();
return $txtdebut . $resultplugin . $txtfin;
}
}
else { return ""; } // Fin du if ... else ... testant l'existence ou non du plugin
}
add_shortcode( 'plxplugin', 'plxplugin_func' );
/*
Exemple d'utilisation :
[plxplugin plugin="monplugin" param1="..." param2="..."]
Les noms des paramètres param1, param2, ... sont à remplacer par ceux utlisés dans le plugin.
Il est possible de fournir un texte à afficher, avant et après : paramètres txtdebut="..." et txtfin="..."
Si le plugin renvoie un contenu au lieu de l'afficher, il est possible d'afficher ce contenu avec echo,
en ajoutant "echo-" avant le nom du plugin, comme par exemple pour le plugin "test" :
[plxplugin plugin="echo-test" param1="..." param2="..."]
/* -----------------------------------------------------------------------------------------------*/
?>
Pour le tester depuis n'importe quelle page :
Exemple d'utilisation :
[== Indéfini ==]
[plxplugin plugin="monplugin" param1="..." param2="..."]
Les noms des paramètres param1, param2, ... sont à remplacer par ceux utlisés dans le plugin.
Il est possible de fournir un texte à afficher, avant et après : paramètres txtdebut="..." et txtfin="..."
Si le plugin renvoie un contenu au lieu de l'afficher, il est possible d'afficher ce contenu avec echo,
en ajoutant "val-" avant le nom du plugin, comme par exemple pour le plugin "test" :
[plxplugin plugin="val-test" param1="..." param2="..."]
]]>