Bonsoir,
j'ai un petit problème pour récupérer la meta_value de la table wp_postmeta.
J'ai creer trois champs avec un name du type _cp_fields'nom_du_champ]
Je récupère les valeurs des champs dans un tableau _cp_fields'nom_du_champ'].
Les valeurs sont présente dans la table wp_postmeta avec le bon post_id, la bonne meta_ket qui correspond au bon champ et la bonne meta_value qui correspond bien ce que j'ia tapé dans le champ.
J'ai tester ca :
get_post_meta( $post_id, 'nom_du_champ' );
get_post_meta( $post_id, 'nom_du_champ', false );
get_post_meta( $post_id, 'nom_du_champ', true );
get_post_custom_values('nom_du_champ', $post_id);
Merci.
Salut est ce que tu aurais un peu de code car c'est assez bizarre, pour ma part les get_post_meta ont toujours bien fonctionné
Bon au final tout marche sauf une chose c'est l'ors de la publication d'un post apres que je clic sur Publier il y a une page blanche. Toutes les données sont sauvegarder dans la BDD pas de soucis. Est ce que je dois faire une redirection apre la publication ou il y a un problème dans mon code?
Et un autre probleme mais il est mineur, je n'arrive pas à afficher les images dans la liste des post du custom post
<?php
/*
Plugin Name: Citizen Press Team Management
Description: Un plugin qui permet de gérer les membres de Citizen Press
Version: 0.5
Author: Julien Miclo
Author URI: http://julienmiclo.fr
*/
/**
* Fonction add_action
*/
add_action( 'init', '__cp_register' );
add_action( 'add_meta_boxes', '__cp_add_custom_boxes' );
add_action( 'save_post', '__cp_save_custom_boxes', 10, 2 );
add_action( 'manage_edit-cp-team_columns', '__cp_columnsfilter');
add_action( 'manage_posts_custom_column', '__cp_column');
add_action( 'admin_enqueue_scripts', '__cp_ajout_js');
/**
* Création du custom post type
*/
function __cp_register(){
$labels = array(
'name' => 'Equipe Citizen Press',
'singular_name' => 'Membre',
'add_new' => 'Ajouter un membre',
'add_new_item' => 'Ajouter un nouveau membre',
'edit_item' => 'Editer un membre',
'new_item' => 'Nouveau membre',
'all_items' => 'Tous les membres',
'view_item' => 'Voir le membre',
'search_items' => 'Rechercher un membre',
'not_found' => 'Aucun membre',
'not_found_in_trash' => 'Aucun membre dans la corbeille',
'parent_item_colon' => '',
'menu_name' => 'Equipe CP'
);
$args = array(
'labels' => $labels,
'public' => true,
'show_ui' => true,
'capability_type' => 'post',
'hierarchical' => true,
'has_archive' => true,
'menu_position' => 99,
'menu_icon' => 'img/icon.png' ,
'supports' => array( 'title'),
'rewrite' => array( 'slug' => 'cp-team', 'with_front' => false )
);
register_post_type('cp-team', $args);
}
/**
* Modification des colones
*/
function __cp_columnsfilter($columns){
$thumb = array('thumbnail' => 'Image');
$columns = array_slice($columns, 0, 1) + $thumb + array_slice($columns, 1, null);
return $columns;
}
function __cp_column($column){
global $post;
$thumbnail_columns = get_post_meta( $post->ID, 'cp_miniature', true );
if($column == 'thumbnail'){
echo $thumbnail_columns ;
}
}
/*
* Creation de la fonction Metabox
*/
function __cp_add_custom_boxes(){
add_meta_box( 'cp_team_meta_box', 'Informations sur le membre', '__cp_add_custom_box', 'cp-team', 'normal', 'high' );
}
/**
* Ajout des différents script JS et CSS
*/
function __cp_ajout_js(){
// les dépendances
wp_enqueue_script( 'media-upload' );
wp_enqueue_script( 'thickbox' );
wp_enqueue_script( 'quicktags' );
wp_enqueue_script( 'jquery-ui-resizable' );
wp_enqueue_script( 'jquery-ui-draggable' );
wp_enqueue_script( 'jquery-ui-button' );
wp_enqueue_script( 'jquery-ui-position' );
wp_enqueue_script( 'jquery-ui-dialog' );
wp_enqueue_script( 'wpdialogs' );
wp_enqueue_script( 'wplink' );
wp_enqueue_script( 'wpdialogs-popup' );
wp_enqueue_script( 'wp-fullscreen' );
wp_enqueue_script( 'editor' );
wp_enqueue_script( 'word-count' );
wp_enqueue_style( 'thickbox' );
//mon script
wp_enqueue_script( 'meta-box-sup', plugins_url().'/team_management_cp/all/js/plugin.js', array('jquery', 'media-upload', 'thickbox'), '1.0', true);
}
/*
* Formulaire du back office
*/
function __cp_add_custom_box($post){
wp_nonce_field( 'team_management_cp', '_cp_nounce');
/*$sql = "SELECT `post_id`, `meta_key`, `meta_value` FROM `wp_postmeta` WHERE `post_id` = '$post_id->ID';";
$request = mysql_query($sql);
$_cp_options = array();
while($data = mysql_fetch_array($request)){
$_cp_options$data'meta_key']] = $data'meta_value'];
}*/
?>
<div class="meta-box-item-content">
<input type="hidden" name="_cp_hidden" value="WIN">
<p>
<label for="cp_prenom">Prénom</label></br>
<input type="text" name="_cp_fields[cp_prenom]" id="cp_prenom" value="<?php echo get_post_meta( $post->ID, 'cp_prenom', true ); ?>" class="regular-text">
</p>
<p>
<label for="cp_nom">Nom</label></br>
<input type="text" name="_cp_fields[cp_nom]" id="cp_nom" value="<?php echo get_post_meta( $post->ID, 'cp_nom', true ); ?>" class="regular-text">
</p>
<p>
<label for="cp_poste">Poste</label></br>
<input type="text" name="_cp_fields[cp_poste]" id="cp_poste" value="<?php echo get_post_meta( $post->ID, 'cp_poste', true ); ?>" class="regular-text">
</p>
<p>
<label for="cp_anecdote">Anecdote</label></br>
<input type="text" name="_cp_fields[cp_anecdote]" id="cp_anecdote" value="<?php echo get_post_meta( $post->ID, 'cp_anecdote', true ); ?>" class="large-text">
</p>
<p>
<table>
<tr>
<td><input id="upload_miniature_zoom_button" class="button thickbox" type="button" value="Ajouter l'image zoomée" /></td>
<td><input id="upload_miniature_button" class="button thickbox" type="button" value="Ajouter la grande image" /></td>
</tr>
<tr>
<td>
<input id="cp_miniature_zoom" type="hidden" name="_cp_fields[cp_miniature_zoom]" value="<?php echo get_post_meta( $post->ID, 'cp_miniature_zoom', true ); ?>" />
<img width="190" src="<?php echo get_post_meta( $post->ID, 'cp_miniature_zoom', true ); ?>" id="cp_miniature_zoom_img">
</td>
<td>
<input id="cp_miniature" type="hidden" name="_cp_fields[cp_miniature]" value="<?php echo get_post_meta( $post->ID, 'cp_miniature', true ); ?>" />
<img width="190" src="<?php echo get_post_meta( $post->ID, 'cp_miniature', true ); ?>" id="cp_miniature_img">
</td>
</tr>
</table>
</p>
</div>
<?php
}
/**
* Sauvegarde des données du formulaire
*/
function __cp_save_custom_boxes($post_id, $post){
if( !isset($_POST'_cp_hidden']) || !wp_verify_nonce( $_POST'_cp_nounce'], 'team_management_cp' )){
return $post_id;
}
$post_type = get_post_type_object( $post->post_type );
if(current_user_can( $type->cap->edit_post )){
return $post_id;
}
foreach($_POST'_cp_fields'] as $name => $value){
if(empty($value)){
delete_post_meta( $post_id, $name );
}
else{
update_post_meta( $post_id, $name, $value );
}
}
}
/**
* Code HTML pour le front office
*/
function __cp_team_management(){
//On importe le JS et le CSS
wp_deregister_style( 'css' );
wp_deregister_script( 'jquery' );
//JS
wp_enqueue_script( 'jquery', 'https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js', null, '1.9.1', true );
wp_enqueue_script( 'isotope', plugins_url().'/team_management_cp/all/js/isotope.js', array(jquery), '1.5.25', true );
wp_enqueue_script( 'main_js', plugins_url().'/team_management_cp/all/js/main.js', array(jquery), '1.0', true );
//CSS
wp_enqueue_style( 'main_css', plugins_url().'/team_management_cp/all/css/main.css', null, '1.0' );
add_action( 'wp_footer', '__cp_team_script', 30);
//On ecrit le code HTML
?>
<section id="timeline">
<div id="container">
<?php
$membres = new WP_query('post_type=cp-team');
while ($membres->have_posts()) {
$membres->the_post();
global $post;
?>
<article class="item bloc">
<div class="small-thumb">
<div class="overlay"></div>
<img src="<?php echo get_post_meta( $post->ID, 'cp_miniature_zoom', true ); ?>" alt="<?php echo get_post_meta( $post->ID, 'cp_prenom', true ); ?> <?php echo get_post_meta( $post->ID, 'cp_nom', true ); ?>-<?php echo get_post_meta( $post->ID, 'cp_poste', true ); ?>" class="small-thumb thumb">
</div>
<div class="info">
<div class="bulle"></div>
<img src="<?php echo get_post_meta( $post->ID, 'cp_miniature', true ); ?>" alt="<?php echo get_post_meta( $post->ID, 'cp_prenom', true ); ?> <?php echo get_post_meta( $post->ID, 'cp_nom', true ); ?>" class="large-thumb">
<p class="name"><?php echo get_post_meta( $post->ID, 'cp_prenom', true ); ?> <?php echo get_post_meta( $post->ID, 'cp_nom', true ); ?></p>
<p class="place"><?php echo get_post_meta( $post->ID, 'cp_poste', true ); ?></p>
<p class="phrase"><?php echo get_post_meta( $post->ID, 'cp_anecdote', true ); ?></p>
</div>
</article>
<?php
};
?>
</div>
</section>
<div class="clearfix">
<?php
}
?>