index.php

Pour récupérer TOUTES les catégories, ajouter ce bout de code :

$taxonomies = array('NOM_CATEGORIE');
$arg_taxo = array('orderby'=>'id', 'order'=>'ASC'); 
$categories = get_terms($taxonomies, $arg_taxo);

Pour récupérer SEULEMENT les catégories d’un post, ajouter ce bout de code :

$categories = wp_get_post_terms($post->ID, 'NOM_CATEGORIE', array("fields" => "all"));
foreach($categories as $categorie) echo $categorie->name;

Penser à remplacer : NOM_CATEGORIE

Et voilà !

Voici un bout de code permettant d’afficher un custom post avec une taxonomie spécifique et d’ajouter une pagination.

Penser à bien remplacer NOM_DU_CUSTOM_POST par le nom de votre custom post, NOM_DE_LA_CATEGORIE par le nom de votre catégorie et IDENTIFIANT_DE_LA_CATEG par l’identifiant de votre catégorie.

/**** Affichage d'un custom post avec une taxonomie spécifique + pagination ****/
if(get_query_var('paged')){ $paged = get_query_var('paged'); } 
else if(get_query_var('page')){ $paged = get_query_var('page'); }
else{ $paged = 1; }
query_posts(array(
	'post_type'			=> 'NOM_DU_CUSTOM_POST',
	'posts_per_page'	=> 10,
	'order'				=> 'DESC',
	'orderby'			=> 'post_date',
	'tax_query'	=> array(
			array(
				'taxonomy'	=>	'NOM_DE_LA_CATEGORIE',
				'field'		=>	'id',
				'terms'		=>	IDENTIFIANT_DE_LA_CATEG
			)
		),
	'paged'				=> $paged,
	'suppress_filters'	=> false,
));
if(have_posts()):
	while(have_posts()) :	the_post();
		// La boucle des post
	endwhile;
	wp_pagenavi();
else:
	// Aucun post
endif;
wp_reset_query(); // Reset Query

Et voilà !

Dernièrement, lors d’un projet sur WordPress, j’ai dû créer des articles via un xml. Pour ce faire, j’ai dû extraire le contenu d’un zip (situé à la racine du ftp) et importer le xml avec les images associées pour créer des articles.

I – Extraction du zip

Pour extraire le contenu du dossier zip, j’ai réalisée un plugin.

Pour ce faire, créez un dossier dans le dossier « plugins » de WordPress et nommez le (par ex import_des_annonces). Puis créez un fichier php avec le même nom (par ex : import_des_annonces.php).

Enfin, collez le code suivant :

function extract_zip(){
	if ($zip->open('CHEMIN_ABSOLU/export_quimper.zip') === TRUE){
		//extract contents to /data/ folder
		$zip->extractTo('CHEMIN_ABSOLU/zip/');
		//close the archive
		$zip->close();
		echo 'Archive extracted to zip/ folder!';
	}else{
		echo 'Failed to open the archive!';
	}
}
add_action('extract_zip_hook', "extract_zip");

ATTENTION : remplacer « CHEMIN_ABSOLU » par le chemin vers votre fichier.
Pour trouver le chemin absolu :

  1. Créer un fichier « chemin.php » à la racine de votre ftp
  2. Écrivez celle ligne : et sauvegarder votre fichier
  3. Ouvrez votre navigateur et allez voir ce fichier PHP. Il vous donne le chemin absolu, par exemple : /home/site/www/admin/chemin.php
  4. Copiez le code SANS chemin.php et collez le dans le plugin à la place de « CHEMIN_ABSOLU »

(suite…)