Lister le contenu d’un répertoire en PHP

Il peut parfois être intéressant de lister le contenu d’un répertoire en PHP. Cette fonctionnalité, proposée par défaut pas Apache 2, n’est pas toujours présente sur les serveurs HTTP alternatifs tel que nginx.

 

<?php
function ScanDirectory($Directory){

  $MyDirectory = opendir($Directory) or die('Erreur');
	while($Entry = @readdir($MyDirectory)) {
		if(is_dir($Directory.'/'.$Entry)&& $Entry != '.' && $Entry != '..') {
                         echo '<ul>'.$Directory;
			ScanDirectory($Directory.'/'.$Entry);
                        echo '</ul>';
		}
		else if($Entry != '.' && $Entry != '..' && $Entry != 'index.php') {
			echo '<li><a href='.$Entry.' />'.$Entry.'</li>';

                }
	}
  closedir($MyDirectory);
}

ScanDirectory('.');
?>

 

Customiser le pied de page d’un blog WordPress

Édition 27/09/2015 : Avant de se consacrer à cet article il est judicieux de créer un thème enfant. Je vous invite à lire la documentation et ce tutoriel. Personnellement, je préfère utiliser la ligne de commande comme expliqué dans le tutoriel, ceci évite de se poser trop de question et les erreurs.

Voici la procédure à suivre pour customiser le pied de page de votre blog WordPress.

Le pied de page de votre blog se trouve dans le fichier ‘footer.php’ de votre thème. Par exemple avec le thème $wordpress_dir/wp-content/themes/twentyfifteen/footer.php (ou $wordpress est le répertoire racine de votre site).

Voici le contenu par défaut ce fichier :

<?php
/**
 * The template for displaying the footer
 *
 * Contains the closing of the "site-content" div and all content after.
 *
 * @package WordPress
 * @subpackage Twenty_Fifteen
 * @since Twenty Fifteen 1.0
 */
?>

	</div><!-- .site-content -->

	<footer id="colophon" class="site-footer" role="contentinfo">
		<div class="site-info">
			<?php
				/**
				 * Fires before the Twenty Fifteen footer text for footer customization.
				 *
				 * @since Twenty Fifteen 1.0
				 */
				do_action( 'twentyfifteen_credits' );
				
			?>
			<a href="<?php echo esc_url( __( 'https://wordpress.org/', 'twentyfifteen' ) ); ?>"><?php printf( __( 'Proudly powered by %s', 'twentyfifteen' ), 'WordPress' ); ?></a>
		</div><!-- .site-info -->
	</footer><!-- .site-footer -->

</div><!-- .site -->

<?php wp_footer(); ?>

</body>
</html>

 

J’ai choisi d’y insérer le contenu de la page ‘A Propos’ du site.  Pour la récupérer j’utilise le code suivant :

$id=42;
$post = get_post($id);
$title = apply_filters('the_title', $post->post_title);
echo $title;
$content = apply_filters('the_content', $post->post_content);
echo $content;

Et ainsi j’obtiens :

<?php
/**
 * The template for displaying the footer
 *
 * Contains the closing of the "site-content" div and all content after.
 *
 * @package WordPress
 * @subpackage Twenty_Fifteen
 * @since Twenty Fifteen 1.0
 */
?>

	</div><!-- .site-content -->

	<footer id="colophon" class="site-footer" role="contentinfo">
		<div class="site-info">
			<?php
				/**
				 * Fires before the Twenty Fifteen footer text for footer customization.
				 *
				 * @since Twenty Fifteen 1.0
				 */
				do_action( 'twentyfifteen_credits' );
				
				
				$id=42;
				$post = get_post($id);
				$title = apply_filters('the_title', $post->post_title);
				//echo $title;
				$content = apply_filters('the_content', $post->post_content);
				echo $content;
				echo '<p>© TheG - 2014-2015</p>';
			?>
			<a href="<?php echo esc_url( __( 'https://wordpress.org/', 'twentyfifteen' ) ); ?>"><?php printf( __( 'Proudly powered by %s', 'twentyfifteen' ), 'WordPress' ); ?></a>
		</div><!-- .site-info -->
	</footer><!-- .site-footer -->

</div><!-- .site -->

<?php wp_footer(); ?>

</body>
</html>