WordPress, API, Gestion – Utiliser WordPress en dehors de WordPress


Cela peut devenir assez contraignant d’utiliser un CMS comme WordPress dans sa totalité notamment si vous souhaitez par exemple re-injecter dynamiquement du contenu de votre blog sous WordPress dans un autre site, plus corporate ou bien par exemple parce que vous souhaitez utiliser le “backend” mais pas le “frontend” de WordPress.

C’est l’objet de l’article aujourd’hui qui va vous montrer rapidement comment charger du contenu émanant de WordPress sans le thème (frontend) qui l’accompagne. Vous disposez avec cette méthode néanmoins de toutes les fonctions WordPress.

Le code indispensable

On a fait le test en local sous MAMP à l’aide de WP Version 3.3. Le chemin vers notre WordPress pleinement fonctionnel est disponible à l’adresse suivante :

  • Le chemin en local de notre WP est : /Applications/MAMP/htdocs/wp/
  • L’adresse de notre WP est : http://127.0.0.1/wp/

Il nous reste à créer un répertoire sur le même serveur mais hors de l’arborescence du WordPress.

  • Le chemin en local de notre répertoire hors WP est : /Applications/MAMP/htdocs/no_wp/
  • L’adresse en local de notre répertoire hors WP est : http://127.0.0.1/no_wp/

C’est dans ce répertoire que l’on va placer notre fichier PHP afin d’appeler le contenu du WP hors de WP.

Le fichier call_wp_no_theme.php

Le fichier call_wp_no_theme.php se décompose en deux parties :

1. La partie de code indispensable pour charger wordpress sans son thème mais accéder aux principales fonctions de WP est la suivante.

 
	<?php 
	/* LOAD WP WITH NO THEME */
	define('WP_USE_THEMES', false);
	require($_SERVER['DOCUMENT_ROOT'] . '/wp/wp-blog-header.php');
	?>

2. Le code pour appeler par exemple les 3 derniers articles

 
	<?php 
		/* THE LOOP */
	query_posts('showposts=3'); 
	?>
	<table cellpadding="5" cellspacing="5" border="0">
 
 
	<?php while (have_posts()) : the_post(); ?>
		<tr>
			<td valign="top"><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_post_thumbnail('thumbnail'); ?></a></td>
			<td valign="top"><h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>"><?php the_title(); ?></a></h2><?php the_excerpt(); ?></td>
		</tr>
 
	<?php endwhile;?>
	</table>

Le code complet du fichier call_wp_no_theme.php qui sera disponible à l’adresse suivante http://127.0.0.1/no_wp/

 
	<?php 
	/* LOAD WP WITH NO THEME */
	define('WP_USE_THEMES', false);
	require($_SERVER['DOCUMENT_ROOT'] . '/wp/wp-blog-header.php');
	?>
 
	<?php 
		/* THE LOOP */
	query_posts('showposts=3'); 
	?>
	<table cellpadding="5" cellspacing="5" border="0">
 
	<?php while (have_posts()) : the_post(); ?>
		<tr>
			<td valign="top"><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_post_thumbnail('thumbnail'); ?></a></td>
			<td valign="top"><h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>"><?php the_title(); ?></a></h2><?php the_excerpt(); ?></td>
		</tr>
 
	<?php endwhile;?>
	</table>

Nos 3 derniers articles avec une image par défaut vus du “backend” http://127.0.0.1/wp/wp-admin/
Wordpress, API, Gestion - Utiliser WordPress en dehors de WordPress

Nos 3 derniers articles vus du “frontend” http://127.0.0.1/wp/
Wordpress, API, Gestion - Utiliser WordPress en dehors de WordPress

Nos 3 derniers articles vus depuis http://127.0.0.1/no_wp/call_wp_no_theme.php
Wordpress, API, Gestion - Utiliser WordPress en dehors de WordPress

En savoir plus