Entreprise EPI , création de sites internet

Une réponse adaptée pour artisans, commerçants ou associations.

Souvent pour pouvoir customiser une page wordpress en fonction de l’endroit où l’on se trouve, on aimerait tester si une page a bien pour page parente ou grand parent une autre page wordpress.

Exemple : j’ai une page annuaire qui contient comme sous-pages les différentes régions de france, et comme sous sous pages les départements.

Quand je suis sur la page d’un département je souhaite afficher dans ma sidebar un widget avec écrit « légende du département ».

Pour réaliser cela il faut insérer le code suivant dans le fichier functions.php de son thème :

function is_child_of($topid, $thispageid = null)
{
global $post;

if($thispageid == null)
$thispageid = $post->ID; # no id set so get the post object’s id.

$current = get_page($thispageid);

if($current->post_parent != 0) # so there is a parent
{
if($current->post_parent != $topid)
return is_child_of($topid, $current->post_parent); # not that page, run again
else
return true; # are so it is
}
else
{
return false; # no parent page so return false
}
}

et ensuite dans la sidebar à l’endroit de votre choix :

<?php

if(is_child_of(3, $post->ID))
{

action à effectuer (affichage d’un message etc…

}
?>

ou $post->ID représente la page actuelle et 3 l’id de la page grand parent . Ici je veux savoir si ma page actuelle est un enfant, petit enfant, ou petit…petit enfant de la page ayant l’id 3

Cet article vous a aidé ? Vous pouvez me remercier en faisant un don

Bonjour à tous.

Aujourd’hui nous allons voir comment transformer en 10 minutes le calendrier de WordPress en un agenda.

Tout d’abord, il faut télécharger le plugin the future is now. Ce petit plugin permet tout simplement de poster un article à une date qui n’est pas encore passée;  Ce qui est fort utile pour notre idée que chaque article va être un élément d’un agenda.

Deuxième étape

Dans general-template.php : trouver la fonction get_calendar() et supprimer la partie en gras.

$dayswithposts = $wpdb->get_results(« SELECT DISTINCT DAYOFMONTH(post_date)
FROM $wpdb->posts WHERE MONTH(post_date) = ‘$thismonth’
AND YEAR(post_date) = ‘$thisyear’
AND post_type = ‘post’ AND post_status = ‘publish’ AND post_date < ‘ » . current_time(‘mysql’) . ‘\ », ARRAY_N);

Si vous ne voulez utiliser le calendrier que pour une catégorie et non tous les articles :

$dayswithposts = $wpdb->get_results(« SELECT DISTINCT DAYOFMONTH(post_date)
FROM $wpdb->posts
LEFT JOIN $wpdb->term_relationships ON($wpdb->posts.ID = $wpdb->term_relationships.object_id)
LEFT JOIN $wpdb->term_taxonomy ON($wpdb->term_relationships.term_taxonomy_id = $wpdb->term_taxonomy.term_taxonomy_id)
LEFT JOIN $wpdb->terms ON($wpdb->term_taxonomy.term_id = $wpdb->terms.term_id)
WHERE $wpdb->terms.term_id = ’11’
AND $wpdb->term_taxonomy.taxonomy = ‘category’
AND MONTH(post_date) = ‘$thismonth’
AND YEAR(post_date) = ‘$thisyear’
AND post_type = ‘post’ AND post_status = ‘publish' », ARRAY_N);

ou 11 représente l’id de la catégorie

Voilà c’est fini et ça fonctionne !

Si cet article vous a aidé, n’hésitez pas à faire un don.

Mots clés

Vidéo

Mentions légales

Entreprise individuelle depuis janvier 2008, EPI vous propose des solutions Internet adaptées à vos besoins.

Entreprise EPI
Fijaguet
12340 RODELLE
Siret : 50183306500011

Twitter

    Partenaires