Afficher tous les posts

Pour afficher tous les posts en utilisant le query_post ou WP_Query, il faut utiliser le paramètre « nopaging »

<?php query_posts( array( 'nopaging' => true) )?>

Traduction en français

Pour traduire correctement un plugin ou thème en Français, il ne faut pas oublié de rajouter la forme plurielle: nplurals=2; plural=n>1

Ajouter un template pour page

Pour rajouter un template pour les page (disponible dans le menu déroulant), il faut commencer le template par ceci:

<?php
/*
Template Name: Snarfer
*/
?>

Tester si l’utilisateur est loggué ou pas

Pour tester si l’internaute est loggué, utilisez cette fonction dans un test:

is_user_logged_in()

Ajouter un status de post et de page

Dans le plugin, lors de l’instanciation de la classe client, il faut rajouter ce qui suit (pour posts et pages) :

register_post_status( 'membre', array(
	'label' 		=> __('Members', 'simple-postdelay' ),
	'public' 		=> true,
	'internal' 		=> false,
	'_builtin' 		=> false,
	'label_count' 	=> _n_noop('Adhérent <span class="count">(%s)</span>', 'Adhérent <span class="count">(%s)</span>')
) );

Protéger sa page d’option

Lorsque l’on créer une page d’option pour son plugin, il faut la protéger.
Et donc, il faut insérer dans la fonction qui va afficher la page, ce qui suit:
dans le template même:

<?php wp_nonce_field('simple-option');?>

et dans la fonction d’enregistrement de l’option:

check_admin_referer( 'simple-option' );

Cache de get_posts + requête avec post_meta

Attention au cache du get_posts surtout pour les métas !
Utiliser plutôt une requête sql !

De plus, lorsque l’on travaille sur les métas, utiliser toujours $wpdb->prepare !

// Old way $_posts = get_posts( 'meta_key=old_id&amp;meta_value='.$old_postid );
$p_id = (int) $wpdb->get_var( $wpdb->prepare( "SELECT post_id FROM $wpdb->postmeta WHERE meta_key = 'old_id' AND meta_value = %s LIMIT 1", $old_postid ) );

is_single(), is_front_page(), is_home()

is_single(), is_front_page(), is_home() sont des fonctions de tests.

à utiliser lors de l’action template_redirect.

Exemple:

add_action( 'template_redirect', 'fcn_test' );
 
function fcn_test(){
 
if(is_single)
//do anything
 
if(is_front_page)
//do anything
 
}

Query_posts() imbriqués

Si vous devez récupérer les posts dans un query_posts, utilisez WP_Query afin de ne pas écraser à requête en cours. La requête $query est au format Array

query_posts( $query );

en

$my_query = new WP_Query($query);

Et s’utilise comme query_posts : au lieu de the_post(), on utilise $my_query->the_post(); et have_posts() en $my_query->have_posts()

Powered by WordPress with GimpStyle Theme design by Horacio Bella.
Entries and comments feeds. Valid XHTML and CSS.