Exclure une ou plusieurs catégories sur l’accueil de votre wordpress

Petit bout de code ajouter si vous souhaitez supprimer une ou plusieurs catégories de la page d’accueil de votre blog.

Pour une catégorie

if (is_home()) {
query_posts("cat=-576");
}

Pour plusieurs catégorie

if (is_home()) {
query_posts("cat=-576,-325");
}

Vous pouvez trouver l’ID de la ou les catégories à ne pas afficher dans la partie admin > catégories en cliquant sur la catégorie voulue, regardez l’URL et retrouvez l’ID juste après « tag_ID ».
Exemple : http://www.scoco.fr/wp-admin/term.php?taxonomy=category&tag_ID=576&pos…

Retrouver l’ID d’une catégorie WordPress

Récupérer les derniers topics d’un forum PhpBB3 dans WordPress

Voici un morceau de code qui peut vous aider à récupérer les derniers topics d’un forum PhpBB et les afficher dans votre site wordpress. Le tout sans plugin !!!

Les conditions

  • Avoir un forum PhpBB3 et un site fonctionnant sous wordpress
  • Avoir les bases de données phpBB et WordPress sur la même base de données (Merci Leila)
$derniersTopic = $GLOBALS['wpdb']->get_results("SELECT topic_id, topic_title, forum_name, topic_time FROM phpbb_topics, phpbb_forums WHERE topic_title != '' AND phpbb_topics.forum_id = phpbb_forums.forum_id AND phpbb_topics.forum_id IN ( 1, 6, 8, 9, 11, 12, 13, 59, 18, 19, 46, 20, 98 ) ORDER BY topic_id DESC LIMIT 0 , 5", OBJECT);
for ($i = 0; $i <= 4; $i++) {
  echo $derniersTopic[$i]->forum_name . '<br />';
  echo date("d/m/Y",$derniersTopic[$i]->topic_time).' à ';
  echo date("H\hi",$derniersTopic[$i]->topic_time);
  echo '<a href="http://www.votresite.fr/forum/viewtopic.php?t=' . $derniersTopic[$i]->topic_id . '">' . $derniersTopic[$i]->topic_title . '</a>';
}

Remplacez « 1, 6, 8, 9, 11, 12, 13, 59, 18, 19, 46, 20, 98 » par les ID des forums (catégories) que vous souhaitez afficher.

Modifiez le code à votre convenance pour afficher ce que vous souhaitez.

Menu déroulant en HTML et CSS

Voici une solution pour faire un menu déroulant simplement en utilisant uniquement HTML et CSS.

Exemple de menu déroulant

Exemple de menu déroulant

Vous avez le CSS et le HTML, à vous de l’adapter à vos besoins en modifiant ce qu’il vous faut.

#menu{
    height: 21px;
    list-style-type: none;
    margin: 0;
    padding: 0;
    border: 0;
    position: absolute;
    top: 0;
    left: 0;
}
#menu li{
    float: left;
    text-align:center;
    width: 150px;
    margin: 0;
    padding: 0;
    border: 0;
}
#menu li a:link, #menu li a:visited{
    display: block;
    height: 1%;
    color: #FFF;
    background: green;
    margin: 0;
    padding: 4px 8px;
    border-right: 1px solid #fff;
    text-decoration: none;
}
#menu li a:hover {background-color: #F2462E;}
#menu li a:active {background-color: #5F879D;}
#menu .sousMenu{
    display: none;
    list-style-type: none;
    margin: 0;
    padding: 0;
    border: 0;
}
#menu .sousMenu li{
    float: none;
    margin: 0;
    padding: 0;
    border: 0;
    width: 149px;
    border-top: 1px solid transparent;
    border-right: 1px solid transparent;
}
#menu .sousMenu li a:link, #menu .sousMenu li a:visited{
    display: block;
    color: #FFF;
    margin: 0;
    border: 0;
    text-decoration: none;
}
#menu .sousMenu li a:hover{
    background-image: none;
    background-color: #F2462E;
}
#menu li:hover > .sousMenu {display: block;}
<ul id="menu">
	<li><a href="#">Fruits</a>
            <ul class="sousMenu">
                    <li><a href="#">Pomme</a></li>
                    <li><a href="#">Orange</a></li>
                    <li><a href="#">Banane</a></li>
                    <li><a href="#">Figue</a></li>
            </ul>
        </li>
	<li><a href="#">Sports</a>
            <ul class="sousMenu">
                    <li><a href="#">Basket</a></li>
                    <li><a href="#">Roller Derby</a></li>
                    <li><a href="#">Tennis</a></li>
            </ul>
        </li>
	<li><a href="#">Capitales</a>
            <ul class="sousMenu">
                    <li><a href="#">Paris</a></li>
                    <li><a href="#">Londres</a></li>
            </ul>
        </li>
	<li><a href="#">Prénoms</a>
            <ul class="sousMenu">
                    <li><a href="#">Emilie</a></li>
                    <li><a href="#">Pierre</a></li>
                    <li><a href="#">Lionel</a></li>
                    <li><a href="#">Virginie</a></li>
                    <li><a href="#">Sebastien</a></li>
            </ul>
        </li>
</ul>

Quicksearch – Comment effectuer une recherche dans un tableau dynamique ?

Rechercher

Quicksearch – Un plugin très utile !

Quicksearch est un plugin jQuery servant à rechercher une information dans un tableau de manière dynamique.

Pour le télécharger c’est ici : https://github.com/riklomas/quicksearch

Exemple


Effectuer une recherche Recherche…
Prenom Nom Pays Date Email
Aucuns résultats
Quintessa Kirk Nicaragua 31/08/2012 sociosqu.ad.litora@ornarefacilisis.ca
Rahim Bowen Norway 20/04/2013 purus.in@enim.ca
Clio Wong Cambodia 23/10/2012 et.malesuada@facilisis.edu
Adele Sandoval Greece 12/09/2013 tellus.non@elementum.com
Kaseem Ochoa Germany 06/06/2013 mauris.eu.elit@auguemalesuada.ca
Ori Daniels Mayotte 18/09/2012 est@nonummy.org
Akeem Grant Bosnia and Herzegovina 27/11/2012 sagittis@mipedenonummy.org
Nasim Lucas Chile 09/03/2014 ipsum@non.edu
Matthew Meyers Christmas Island 27/09/2012 in@vellectus.edu
Georgia Munoz Brunei Darussalam 03/10/2013 molestie.tellus@mollislectuspede.edu
Alexis Fry British Indian Ocean Territory 24/05/2012 urna@tellusAeneanegestas.org
Xander Washington Greenland 10/03/2013 enim.Sed@lacusvestibulumlorem.edu
Harriet Snider Faroe Islands 22/03/2014 Morbi@sitametante.org
Lysandra Dyer Chad 06/01/2014 rutrum@odio.edu
Hammett Ingram Eritrea 04/06/2013 vitae.nibh.Donec@Donecfelisorci.edu
Neve Roman Korea 17/05/2013 turpis@varius.ca
Zachery Perry Andorra 14/07/2012 dis@vulputate.com
Holly Blanchard Hong Kong 16/03/2013 est.mauris@Aeneanegestashendrerit.org
Chloe Reese Ecuador 02/09/2013 sit.amet@velarcuCurabitur.edu
John Todd Kenya 18/12/2013 vehicula@aliquetnecimperdiet.edu
Lucian York Fiji 20/10/2012 nec@sapien.org
Dominic Wilson Western Sahara 07/04/2012 semper.pretium@miac.ca
Cullen Cline Djibouti 26/06/2012 nibh.Phasellus.nulla@SuspendisseduiFusce.com


Pour ce résultat, le code est le suivant

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript" src="http://www.scoco.fr/wp-content/uploads/2013/03/jquery.quicksearch.js"></script>
<script type="text/javascript">
 $(document).ready(function () {
 $("#id_search").quicksearch("#resultTable tbody tr", {
 noResults: '#noresults',
 stripeRows: ['odd', 'even'],
 loader: 'span.loading'
 });
 });
</script>
<form action="#">
 <fieldset>
 <input type="text" name="search" value="" id="id_search" />
 <span>Recherche...</span>
 </fieldset>
</form>
<table cellspacing="1" cellpadding="1" id="resultTable">
 <thead>
 <tr>
 <th>Prenom</th>
 <th>Nom</th>
 <th>Pays</th>
 <th>Date</th>
 <th>Email</th>
 </tr>
 </thead>
 <tbody>
 <tr id="noresults">
 <td colspan="5">Aucuns résultats</td>
 </tr>
 <tr>
 <td>Quintessa</td>
 <td>Kirk</td>
 <td>Nicaragua</td>
 <td>31/08/2012</td>
 <td>sociosqu.ad.litora@ornarefacilisis.ca</td>
 </tr>
 ...
 ...
 ...
 <tr>
 <td>Georgia</td>
 <td>Munoz</td>
 <td>Brunei Darussalam</td>
 <td>03/10/2013</td>
 <td>molestie.tellus@mollislectuspede.edu</td>
 </tr>
 </tbody>
</table>

Gravatar – Lier un avatar avec à son mail à travers le web

Un gravatar qu’est ce que c’est ?

Un gravatar est un avatar que vous pouvez utiliser sur de nombreux sites ou blogs (wordpress, github,…) . Généralement les gravatar apparaissent à côté du pseudo que vous utilisez pour commenter ou rédiger des articles.  C’est un gain de temps dans la mesure où vous n’avez pas à uploader un avatar sur chaque site que vous fréquentez.

Comment appeler et afficher un gravatar

Une petite fonction php faite à partir des informations données sur Gravatar.com vous permet de faire ceci!

/*
* Fonction de récupération de l'avatar
*/
function get_avatar($monEmail, $taille = null)
{
$trimEmail = md5(strtolower(trim($monEmail)));
echo "<img src='http://www.gravatar.com/avatar/" . $trimEmail . "?s=" . $taille . "' />";
}

/*
* Affichage de l'avatar
*/
get_avatar('scoco@scoco.fr', 150);

Explication des fonctions utilisées

  • md5() encode la chaîne passée en paramètre en un nombre hexadécimal de 32 caractères
    Exemple: md5(‘scoco’) retourne f7449c2cd0f9b029e33157459b3d0846
  • strtolower()  retourne la chaîne passée en paramètre en minuscule
    Exemple: strtolower(‘Je Suis SCOCO’) retourne je suis scoco
  • trim() supprime les caractères invisibles au début et à la fin de la chaîne passée en paramètre
    Exemple: trim(‘     scoco ‘) retourne scoco (sans les espace devant et après)

JQuery – Listes déroulantes liées avec Chained Selects

En jQuery, on peut faire pas mal de choses. Cette fois ci, voici un tutoriel pour lier plusieurs listes déroulantes est une traduction et adaptation d’un article de Mika Tuupola (Créateur du plugin) à mes besoins.

Chained Selects est un plugin jQuery qui consiste à lier plusieurs  listes déroulantes entre elles.
Fichier disponible ici

Exemple





Dans une première liste déroulante, vous choisissez une région. Dans la seconde liste déroulante, vont s’afficher tout les départements qui appartiennent à cette région.

Dans ce tutoriel, nous allons utiliser le jeu d’exemple suivant: Les régions et les départements français ! (Fichier MySQL)

Mise en pratique

1ere liste déroulante

<select id="region">
<option>---</option>
<option value="1">Alsace</option>
<option value="2">Aquitaine</option>
<option value="3">Auvergne</option>
<option value="4">Basse Normandie</option>
<option value="5">Bourgogne</option>
<option value="6">Bretagne</option>
<option value="7">Centre</option>
<option value="8">Champagne Ardenne</option>
<option value="9">Corse</option>
<option value="10">Franche Comté</option>
<option value="11">Haute Normandie</option>
<option value="12">Ile de France</option>
<option value="13">Languedoc Roussillon</option>
<option value="14">Limousin</option>
<option value="15">Lorraine</option>
<option value="16">Midi-Pyrénées</option>
<option value="17">Nord Pas de Calais</option>
<option value="18">P.A.C.A</option>
<option value="19">Pays de la Loire</option>
<option value="20">Picardie</option>
<option value="21">Poitou Charente</option>
<option value="22">Rhone Alpes</option>
</select>
<select id="departement" disabled="disabled">
<option value="">--</option>
<option class="22" value="1">Ain</option>
<option class="20" value="2">Aisne</option>
<option class="3" value="3">Allier</option>
<option class="18" value="4">Alpes de haute provence</option>
<option class="18" value="5">Hautes alpes</option>
<option class="18" value="6">Alpes maritimes</option>
<option class="22" value="7">Ardèche</option>
<option class="8" value="8">Ardennes</option>
<option class="16" value="9">Ariège</option>
<option class="8" value="10">Aube</option>
<option class="13" value="11">Aude</option>
<option class="16" value="12">Aveyron</option>
<option class="18" value="13">Bouches du rhône</option>
<option class="4" value="14">Calvados</option>
<option class="3" value="15">Cantal</option>
<option class="21" value="16">Charente</option>
<option class="21" value="17">Charente maritime</option>
<option class="7" value="18">Cher</option>
<option class="14" value="19">Corrèze</option>
<option class="5" value="21">Côte d'or</option>
<option class="6" value="22">Côtes d'Armor</option>
<option class="14" value="23">Creuse</option>
<option class="2" value="24">Dordogne</option>
<option class="10" value="25">Doubs</option>
<option class="22" value="26">Drôme</option>
<option class="11" value="27">Eure</option>
<option class="7" value="28">Eure et Loir</option>
<option class="6" value="29">Finistère</option>
<option class="13" value="30">Gard</option>
<option class="16" value="31">Haute garonne</option>
<option class="16" value="32">Gers</option>
<option class="2" value="33">Gironde</option>
<option class="13" value="34">Hérault</option>
<option class="6" value="35">Ile et Vilaine</option>
<option class="7" value="36">Indre</option>
<option class="7" value="37">Indre et Loire</option>
<option class="22" value="38">Isère</option>
<option class="10" value="39">Jura</option>
<option class="2" value="40">Landes</option>
<option class="7" value="41">Loir et Cher</option>
<option class="22" value="42">Loire</option>
<option class="3" value="43">Haute loire</option>
<option class="19" value="44">Loire Atlantique</option>
<option class="7" value="45">Loiret</option>
<option class="16" value="46">Lot</option>
<option class="2" value="47">Lot et Garonne</option>
<option class="13" value="48">Lozère</option>
<option class="19" value="49">Maine et Loire</option>
<option class="4" value="50">Manche</option>
<option class="8" value="51">Marne</option>
<option class="8" value="52">Haute Marne</option>
<option class="19" value="53">Mayenne</option>
<option class="15" value="54">Meurthe et Moselle</option>
<option class="15" value="55">Meuse</option>
<option class="6" value="56">Morbihan</option>
<option class="15" value="57">Moselle</option>
<option class="5" value="58">Nièvre</option>
<option class="17" value="59">Nord</option>
<option class="20" value="60">Oise</option>
<option class="4" value="61">Orne</option>
<option class="17" value="62">Pas de Calais</option>
<option class="3" value="63">Puy de Dôme</option>
<option class="2" value="64">Pyrénées Atlantiques</option>
<option class="16" value="65">Hautes Pyrénées</option>
<option class="13" value="66">Pyrénées Orientales</option>
<option class="1" value="67">Bas Rhin</option>
<option class="1" value="68">Haut Rhin</option>
<option class="22" value="69">Rhône</option>
<option class="10" value="70">Haute Saône</option>
<option class="5" value="71">Saône et Loire</option>
<option class="19" value="72">Sarthe</option>
<option class="22" value="73">Savoie</option>
<option class="22" value="74">Haute Savoie</option>
<option class="12" value="75">Paris</option>
<option class="11" value="76">Seine Maritime</option>
<option class="12" value="77">Seine et Marne</option>
<option class="12" value="78">Yvelines</option>
<option class="21" value="79">Deux Sèvres</option>
<option class="20" value="80">Somme</option>
<option class="16" value="81">Tarn</option>
<option class="16" value="82">Tarn et Garonne</option>
<option class="18" value="83">Var</option>
<option class="18" value="84">Vaucluse</option>
<option class="19" value="85">Vendée</option>
<option class="21" value="86">Vienne</option>
<option class="14" value="87">Haute Vienne</option>
<option class="10" value="88">Vosge</option>
<option class="5" value="89">Yonne</option>
<option class="10" value="90">Territoire de Belfort</option>
<option class="12" value="91">Essonne</option>
<option class="12" value="92">Haut de seine</option>
<option class="12" value="93">Seine Saint Denis</option>
<option class="12" value="94">Val de Marne</option>
<option class="12" value="95">Val d'Oise</option>
<option class="9" value="2a">Corse du Sud</option>
<option class="9" value="2b">Haute Corse</option>
</select>
<script src="js/jquery.js" type="text/javascript" charset="utf-8"></script>
 <script src="js/jquery.chained.js" type="text/javascript" charset="utf-8"></script>
 <script type="text/javascript" charset="utf-8">
               $(function () {
                   $("#departement").chained("#region");
               });
   </script>