Bouton submit current post dans une boucle wp
Posté : 21 mai 2023, 19:41
Bonjour,
Je rencontre un petit soucis avec un bouton de type submit qui est dans une boucle foreach.
Je souhaite modifier des post_metas avec ce bouton, mais il faut que l'action ne se fasse que sur l'annonce concernée.
En gros, il faut que je ressorte le current_id de l'annonce...
Sinon je pense peut-être à une action onclick() avec du Javascript....
Comme la page est assez longue, je vous mets les bouts de code concernés
Je vous remercie d'avance
Je rencontre un petit soucis avec un bouton de type submit qui est dans une boucle foreach.
Je souhaite modifier des post_metas avec ce bouton, mais il faut que l'action ne se fasse que sur l'annonce concernée.
En gros, il faut que je ressorte le current_id de l'annonce...
Sinon je pense peut-être à une action onclick() avec du Javascript....
Comme la page est assez longue, je vous mets les bouts de code concernés
Je vous remercie d'avance
if(current_user_can('administrator'))
{
$args = array
(
'post_type' => 'vehica_car',
'posts_per_page' => -1,
'paged' => $paged,
'cache_results' => false,
'update_post_meta_cache' => false,
'update_post_term_cache' => false,
'post_status' => array('publish', 'pending', 'draft')
);
}
else
{
// Get all annonces current user
$args = array
(
'post_type' => 'vehica_car',
'posts_per_page' => -1,
'cache_results' => false,
'author' => $current_user_id,
'update_post_meta_cache' => false,
'update_post_term_cache' => false,
'post_status' => array('publish', 'pending', 'draft'),
);
}
$all_current_user_query = new WP_Query( $args );
$all_annonces_user = $all_current_user_query->posts;
echo'
<div class="afs-col-3">
<div class="afs-garage-listing-box">
<div class="afs-garage-listing-box-title">
<h3>Toutes mes annonces</h3>
<div class="afs-garage-listing-box-title-count">(' . count($all_annonces_user) . ')</div>
</div>
<div class="afs-garage-listing-box-content">';
// Start loop all annonces
foreach($all_annonces_user as $annonce)
{
// Infos annonce
$post_id = $annonce->ID;
$post_link = get_permalink($post_id);
$post_title = get_post_meta($post_id, 'vehica_39814', true);
$auction_modele = get_post_meta($post_id, 'vehica_39815', true);
$auction_type = get_the_terms($annonce->ID, 'vehica_19636');
$auction_type_slug = $auction_type[0]->slug;
// Car infos
$images_gallery = get_post_meta($post_id, 'vehica_19246');
$first_img_src = wp_get_attachment_image_src($images_gallery[0], 'small');
$post_boite = get_post_meta($post_id, 'vehica_48484', true);
$post_km = get_post_meta($post_id, 'vehica_48173', true);
$post_fuel = get_post_meta($post_id, 'vehica_48489', true);
$post_imm_date = get_post_meta($post_id, 'vehica_19190', true);
$post_finitions = get_post_meta($post_id, 'vehica_19193', true);
$content = wp_trim_words(get_post_field('post_content', $annonce->ID), 8, '...');
echo '
<div class="afs-panel-card">
<div class="afs-panel-card__image">
<img src="' . $first_img_src[0] . '" alt="' . $post_title . '">
</div>
<div class="afs-panel-card__details">
<a href="' . $post_link . '">
<div class="afs-panel-card__details_title">' . $post_title . ' ' . $auction_modele . ' ' . $post_finitions . '</div>
</a>
<div class="afs-panel-card__details-infos">
<div class="afs-panel-card__details-infos-item">' . $post_imm_date . '</div>
<div class="afs-panel-card__details-infos-item">' . $post_km . ' Km</div>';
if(empty($all_annonces_in_progress) && empty($all_annonces_reserved))
{
echo '
<a href="https://encheres24.ch/panel/?action=edit&id=' . $post_id . '">Modifier</a>
<form method="post">
<input type="submit" value="Relancer" name="relancer">
</form>';
}
}
</div>
</div>
</div>';
}
</div>
</div>
</div>';
if(isset($_POST['relancer']))
{
delete_post_meta( $post_id, 'auction_list');
delete_post_meta( $post_id, 'auction_winner');
delete_post_meta( $post_id, 'auction_price_status');
delete_post_meta( $post_id, 'auction_email_winner_sended');
delete_post_meta( $post_id, 'auction_email_soon_endend_sended');
delete_post_meta( $post_id, 'auction_email_soon_sended');
// set new date
$now = date('N');
$next_date = 'mardi';
$next_date_str = strtotime('next tuesday');
$next_date_str = date("d.m.Y", $next_date_str);
update_post_meta($post_id, 'vehica_20836', $next_date_str);
update_post_meta($post_id, 'vehica_20856', '10:00');
update_post_meta($post_id, 'auction_status', 'soon');
}