List Post Content Type
De Wiki.
Général
Comment lister les content type, ou faire des requêtes pour récupérer des contenus dans Wordpress?
<?php $Q = new GetPostsQuery(); $args = array(); $args['post_type'] = 'article'; $args['post_status'] = 'publish'; $args['orderby'] = 'menu_order'; $args['order'] = 'ASC'; $results = $Q->get_posts($args); foreach ($results as $r): ?> <a href="<?php print $r['permalink']; ?>" rel="bookmark"><?php print $r['post_title']; ?></a> <br /> <?php endforeach; ?>
Manipuler des dates
Faire une requête avec des dates :
<?php $Q = new GetPostsQuery(); $args = array(); $args['post_type'] = 'page'; $args['post_date']['>'] = '2005-01-30'; $args['order'] = 'ASC'; $results = $Q->get_posts($args); foreach ($results as $r): // print stuff here endforeach; ?>
Ou
<?php $Q = new GetPostsQuery(); $args = array(); $args['post_type'] = 'page'; $args['date_column'] = 'post_date'; $args['date_min'] = '2007-03-01'; $args['date_max'] = '2007-03-31'; $args['order'] = 'ASC'; $results = $Q->get_posts($args); foreach ($results as $r): // print stuff here endforeach; ?>
On peut également faire des requêtes avec des début de dates :
<?php $Q = new GetPostsQuery(); $args = array(); $args['post_type'] = 'my_post_type'; $args['my_date']['starts_with'] = '2007-'; $results = $Q->get_posts($args); foreach ($results as $r): // print stuff here endforeach; ?>
Faire une recherche d'un terme
On peut faire une recherche d'un terme sur plusieurs colonne :
$Q = new GetPostsQuery(); $args = array(); $args['search_columns'] = array('post_title', 'post_content'); $args['search_term'] = 'wordpress'; $results = $Q->get_posts($args); foreach ($results as $r) { // print stuff here }
Ou alors :
$Q = new GetPostsQuery(); $args = array(); $args['search_columns'] = array('post_title'); $args['search_term'] = 'wordpress'; $args['match_rule'] = 'starts_with'; $results = $Q->get_posts($args); foreach ($results as $r) { // print stuff here }
Attention : ne pas confondre get_post (pour récupérer les infos d'un post particulier) et get_posts (pour notre requête)
Pour plus d'informations : https://code.google.com/p/wordpress-custom-content-type-manager/wiki/get_posts