Utiliser la table wp_postmeta
Lors de l’installation de votre wordpress , l’outil créait une base qui se nome wp_postmeta .
L’intérêt principal de cette fonctionnalité est la liaison entre un ID de l’annonce ( index de l’annonce ) , un mot et une valeur.
On peut donc l’utiliser de différente façon .
- -1- Extraire une liste de billets marqués ( par la valeur )
- -2- Extraire des paramètres supplémentaire pour ce billet ( par son ID )
Méthode manuelle
L’édition de cette valeur peu se faire depuis l’interface utilisateur :

Methode en PHP
Nous vous proposons trois fonctions, très pratique, vous permettant de définir ou de relever le contenu de ces champs depuis vos pages .
Ces trois fonctions sont utilisables depuis les pages de votre site ou depuis des Plugin.
Ces deux exemples de code PHP sont membre de la suite de fonctions de notre sur couche
Wordpress-seo depuis la version 1.0.
La table wp_postmeta
| meta_id | bigint(20) | NO | PRI | NULL | auto_increment |
| post_id | bigint(20) | NO | MUL | 0 | |
| meta_key | varchar(255) | YES | MUL | NULL | |
| meta_value | longtext | YES | NULL |
Si vous êtes da la “Loop” vous pouvez utiliser l’API :
$lu = get_post_meta($post_id, 'valeur', true); ( attention si votre version < 1.5 )
add_post_meta( $post_id, $cle, $valeur);
exemple : $key="mykey"; echo get_post_meta($post->ID, $key, true);
La suite : (en anglais ) : http://codex.wordpress.org/Using_Custom_Fields
Extrait de la suite logiciel Wordpress SEO
Si vous l’utilisez Hors de la Loop :
-
// ——————————————————-
-
// Extraire une valeur issus de wp_postmeta par
-
// L’id de l’annonce et le valeur de la chaine
-
// ——————————————————-
-
function GetPostMeta_FromKeyAndPostId($TagKey,$Id,$Max=1)
-
{
-
// Les global issues de wordpress
-
//
-
-
// On force le debug
-
$Print_debug=0;
-
-
$ArrMsgCount=0;
-
// ———————————-
-
// On isole la liste
-
$SQL="SELECT meta_id,meta_value FROM `".$table_prefix."postmeta`
where meta_key=’".$TagKey."’ AND post_id=’".$Id."’ limit ".$Max." " ; -
-
-
$search_counter = 0;
-
$A_meta = $wpdb->get_results($SQL);
-
if($A_meta)
-
{
-
return $A_meta[0]->meta_value;
-
}
-
else
-
{
-
}
-
return ""; // vide !
-
}
-
-
// ——————————————————-
-
// definit un champ
-
// ——————————————————-
-
function SetUserMeta($TagKey="error",$NewVal,$Id=0)
-
{
-
// Les global issues de wordpress
-
//
-
// On force le debug
-
$Print_debug=0;
-
-
$SQL="INSERT INTO `".$table_prefix."postmeta` set meta_key=’".$TagKey."’,
meta_value=’".addslashes($NewVal)."’ , post_id=’".$Id."’ " ; -
-
$wpdb->get_results($SQL);
-
}
-
// ——————————————————-
-
// Charge une liste d’annonce taggé par une clé
-
// ——————————————————-
-
function GetPostListFromWPTag( $TagKey="xxx", $Max=5 ,$Print_debug=0)
-
{
-
// Les global issues de wordpress
-
//
-
-
// On force le debug
-
$Print_debug=0;
-
-
$ArrMsgCount=0;
-
// ———————————-
-
// On isole la liste
-
$SQL="SELECT post_id FROM `".$table_prefix."postmeta`
where meta_key=’".$TagKey."’ limit ".$Max." " ; -
-
-
$search_counter = 0;
-
$A_meta = $wpdb->get_results($SQL);
-
if($A_meta)
-
{
-
foreach($A_meta as $smeta)
-
{
-
$SQL="SELECT * FROM `".$table_prefix."posts` where ID=".$smeta->post_id." ";
-
-
-
$searches = $wpdb->get_results($SQL);
-
foreach($searches as $search)
-
{
-
$ArrMsgAll[]=$search;
-
$ArrMsgCount++;
-
} //end of foreach loop
-
} //end of foreach loop
-
}
-
else
-
{
-
}
-
return $ArrMsgAll;
-
}
Si vous utilisez ce code sur votre site ou si cette page vous fournies les informations que vous désiriez, aidez nous à nous faire connaître .
La meilleur solution serait de placer notre logo sur votre site.
Le savoir n’est utile que s’il est partagé.
Notre logo que vous pouvez ajouter sur votre site.




