Je viens vers vous car je me casse la tête à enregistrer des informations depuis le panneau d'administration. Pour être plus claire:
J'ai créer un plugin avec le code suivant:
Code : Tout sélectionner
<?php
/*
Plugin Name: Billetterie
Description: Gestionnaire de la billeterie
Version: 1.0
Author:
Author URI:
*/
$post_name = 'billetterie';
/* ADD STYLE */
function admin_style() {
global $post_name;
wp_enqueue_style('admin-styles', get_bloginfo('url').'/wp-content/plugins/' . $post_name . '/assets/css/style.css');
}
add_action('admin_enqueue_scripts', 'admin_style');
function cptui_register_my_cpts() {
// Post Type: billetterie
global $post_name;
$labels = array(
"name" => __( 'Billetterie', 'amg' ),
"singular_name" => __( 'Billetterie', 'amg' ),
);
$args = array(
"label" => __( 'Billetterie', 'amg' ),
"labels" => $labels,
"description" => "",
"public" => true,
"publicly_queryable" => true,
"show_ui" => true,
"show_in_rest" => false,
"rest_base" => "",
"has_archive" => true,
"show_in_menu" => true,
"exclude_from_search" => false,
"capability_type" => "post",
"map_meta_cap" => true,
"hierarchical" => true,
"rewrite" => array( "slug" => $post_name, "with_front" => true ),
"query_var" => true,
"supports" => array( "title", "thumbnail" ),
// "taxonomies" => array( "category" ),
);
register_post_type( $post_name, $args );
}
add_action( 'init', 'cptui_register_my_cpts' );
// informations
add_action( 'add_meta_boxes', 'add_informations_generales' );
function add_informations_generales(){
global $post_name;
add_meta_box( 'informations_generales_meta_box', 'Informations Générales', 'add_data_informations_generales', $post_name, 'normal', 'high' );
}
add_action( 'add_meta_boxes', 'add_informations_generales' );
function add_data_informations_generales( $post ){
?>
<div class="int-box">
<div id="left" class="col lg-5 md-5 xs-12">
<label>Quelle salle ?</label>
<input type="text" name="salle" value="" size="60" placeholder="Salle" />
<label>À quelle adresse ?</label>
<input type="text" name="adresse_salle" value="" size="60" placeholder="Adresse civique" />
</div>
<div class="clear"></div>
</div>
<?php
}
// Events gestionnary
add_action( 'add_meta_boxes', 'add_event' );
function add_event(){
global $post_name;
add_meta_box( 'date_meta_box', 'Dates de présentation', 'add_data_event', $post_name, 'normal', 'high' );
}
add_action( 'add_meta_boxes', 'add_event' );
function add_data_event( $post )
{
// Grab our data to fill out the meta boxes (if it's there)
$test = get_post_meta( $post->ID, 'test', true );
// Add a nonce field
wp_nonce_field( 'save_test_meta', 'test_meta' );
?>
<div id="blocData">
<div id="data-1" class="col lg-5 md-5 xs-12">
<label>#1 - Sélectionnez une date</label>
<div id="jour-1" class="col lg-3-eq md-3-eq xs-10">
<input type="text" name="jour-1" value="" size="60" placeholder="jour" />
</div>
<div id="mois-1" class="col lg-3-eq md-3-eq xs-10">
<input type="text" name="mois-1" value="" size="60" placeholder="Mois" />
</div>
<div id="annee-1" class="col lg-3-eq md-3-eq xs-10">
<input type="text" name="annee-1" value="<?php echo date('Y')?>" size="60" placeholder="Année" disabled/>
</div>
<div id="heures-1" class="col lg-3-eq md-3-eq xs-10">
<input type="text" name="heures-1" value="" size="60" placeholder="Heures" />
</div>
<div id="minutes-1" class="col lg-3-eq md-3-eq xs-10">
<input type="text" name="minutes-1" value="" size="60" placeholder="Minutes" />
</div>
<div class="clear"></div>
<input type="checkbox" name="complet-1" value=""> <span class="forCheckbox">Cochez si la représentation est complète.</span>
<input type="checkbox" name="surtitre-1" value=""> <span class="forCheckbox">Y'a t'il les surtitres ?</span>
</div>
</div>
<div class="clear"></div>
<input type="button" value="Ajouter" id="addnew">
<?php
}
add_action('admin_head', 'my_add_input');
function my_add_input() { ?>
<script>
// add live metod
jQuery.fn.live = function (types, data, fn) {
jQuery(this.context).on(types,this.selector,data,fn);
return this;
};
// add new input
(function($){
$(function(){
var num = 2;
$('#addnew').click(function(){
$('#blocData').append('<div id="data-'+ num +'" class="englobe col lg-5 md-5 xs-12"><label>#'+ num +' - Sélectionnez une date</label><div id="jour-'+ num +'" class="col lg-3-eq md-3-eq xs-10"><input type="text" name="jour-'+ num +'" value="" size="60" placeholder="jour" /></div><div id="mois-'+ num +'" class="col lg-3-eq md-3-eq xs-10"><input type="text" name="mois-'+ num +'" value="" size="60" placeholder="Mois" /></div><div id="annee-'+ num +'" class="col lg-3-eq md-3-eq xs-10"><input type="text" name="annee-'+ num +'" value="<?php echo date('Y')?>" size="60" placeholder="Année" disabled/></div><div id="heures-'+ num +'" class="col lg-3-eq md-3-eq xs-10"><input type="text" name="heures-'+ num +'" value="" size="60" placeholder="Heures" /></div><div id="minutes-'+ num +'" class="col lg-3-eq md-3-eq xs-10"><input type="text" name="minutes-'+ num +'" value="" size="60" placeholder="Minutes" /></div><div class="clear"></div><span>Supprimer</span><input type="checkbox" name="complet-'+ num +'" value=""> <span class="forCheckbox">Cochez si la représentation est complète.</span><input type="checkbox" name="surtitre-'+num+'" value=""> <span class="forCheckbox">Y\'a t\'il les surtitres ?</span></div></div>');
num ++;
});
$('span').live( 'click' , function(){
$(this).parent('.englobe').remove();
});
});
})(jQuery)
</script>
<?php } ?> 
Ce que j'aimerais, c'est d'arriver à enregistrer l'information de mon linsting pour les dates de présentation. (Il y a le bouton ajouter qu'on ne voit pas alors on peut ajouter autant de date que nous voulons). En suite, j'imagine que je vais arriver à comprendre comment enregistrer une information simple comme mes informations générales.
Pour vrai, je demande de l'aide, mais il faut que j'arrive à le faire, il faut que je l'apprenne. Donc mon entreprise aimerait payer pour apprendre à le faire. Donc acheter une banque de temps, pour répondre à mes questions en télétravail et payer le code s'il est apporté solutionné ou le temps si on me permet d'apprendre facilement comment ça fonctionne.
Au plaisir,
Sam