Aggiungere colonna data registrazione utente wordpress

Ecco il codice da inserire in functions.php per aggiungere una colonna in amministrazione utenti wordpress e mostrare la data di registrazione dell’utente. La colonna sarà anche ordinabile

// Aggiungi colonna della data di registrazione alla tabella degli utenti
function custom_add_user_registered_column($columns) {
	$columns['user_registered'] = __('Data di registrazione', 'text-domain');
	return $columns;
}
add_filter('manage_users_columns', 'custom_add_user_registered_column');

// Popola la colonna con la data di registrazione
function custom_add_user_registered_column_content($value, $column_name, $user_id) {
	if ('user_registered' == $column_name) {
		$user = get_userdata($user_id);
		$registered = $user->user_registered;
		$format = get_option('date_format') . ' ' . get_option('time_format');
		return date_i18n($format, strtotime($registered));
	}
	return $value;
}
add_action('manage_users_custom_column', 'custom_add_user_registered_column_content', 10, 3);

// Permetti l'ordinamento per la colonna della data di registrazione
function custom_user_registered_column_sortable($columns) {
	$columns['user_registered'] = 'user_registered';
	return $columns;
}
add_filter('manage_users_sortable_columns', 'custom_user_registered_column_sortable');

// Imposta il tipo di ordinamento per la colonna della data di registrazione
function custom_user_registered_column_orderby($vars) {
	if (isset($vars['orderby']) && 'user_registered' == $vars['orderby']) {
		$vars = array_merge($vars, array(
			'meta_key' => 'user_registered',
			'orderby' => 'meta_value'
		));
	}
	return $vars;
}
add_filter('request', 'custom_user_registered_column_orderby');

Woocommerce: modificare il link “continua gli acquisti” nel checkout

Vi sarà già capitato di dover cambiare la destinazione del pulsante che appare quando aggiungete nel carrello un prodotto e sopra appare il pulsante “continua gli acquisti” che rimanda in base al tema al negozio o al prodotto appena aggiunto.
Potete forzare il link ad una pagina specifica inserendo questo codice nel file functions.php del vostro tema:

/**
 * @snippet       Continue Shopping Link - WooCommerce Cart
 * @how-to        Get CustomizeWoo.com FREE
 * @author        Rodolfo Melogli
 * @compatible    WooCommerce 3.6.2
 * @donate $9     https://businessbloomer.com/bloomer-armada/
 */
 
add_filter( 'woocommerce_continue_shopping_redirect', 'bbloomer_change_continue_shopping' );
 
function bbloomer_change_continue_shopping() {
   return wc_get_page_permalink( 'shop' );
}
Ringrazio l’autore del codice Rodolfo Melogli

Woocommerce: registrare consenso termini e condizioni di servizio in fase di checkout

Non so se tutti lo sanno ma il consenso del checkbox “accesso i termini e condizioni di servizio” non viene registrato nel database, inibisce solo la conclusione del processo.

E’ possibile registrare il dato attraverso un piccolo snipped di codice consigliato dagli sviluppatori woocommerce, eccolo qui:

// 1. Save T&C as Order Meta
  
add_action( 'woocommerce_checkout_update_order_meta', 'bbloomer_save_terms_conditions_acceptance' );
  
function bbloomer_save_terms_conditions_acceptance( $order_id ) {
if ( $_POST['terms'] ) update_post_meta( $order_id, 'terms', esc_attr( $_POST['terms'] ) );
}

Questo invece vi consente di visualizzare il dato nella pagina di riepilogo ordine nell’area riservata:

add_action( 'woocommerce_admin_order_data_after_billing_address', 'bbloomer_display_terms_conditions_acceptance' );
  
function bbloomer_display_terms_conditions_acceptance( $order ) {
if ( get_post_meta( $order->get_id(), 'terms', true ) == 'on' ) {
echo '<p><strong>Termini e condizioni: </strong>accettati</p>';
} else echo '<p><strong>Termini e condizioni: </strong>N/A</p>';
}

Questo invece vi consente di visualizzare il dato nella mail che arriva al cliente quando conclude il processo di acquisto:

add_action( 'woocommerce_email_before_order_table', 'bbloomer_add_content_specific_email', 20, 4 );
  
function bbloomer_add_content_specific_email( $order, $sent_to_admin, $plain_text, $email ) {
   if ( $email->id == 'customer_processing_order' || $email->id == 'new_order' || $email->id == 'customer_on_hold_order') {
      
      if ( get_post_meta( $order->get_id(), 'terms', true ) == 'on' ) {
      echo '<p><strong>Termini e condizioni: </strong>accettati</p>';
      } else echo '<p><strong>Termini e condizioni: </strong>N/A</p>';

   }  
}

Tutti questi snipped vanno inseriti nella pagina functions.php del vostro tema

Snippet trovati su: www.businessbloomer.com

©2021 AGANIS WEB SOFTWARE di Francesca Roccabruna P.IVA TRENTO 02183500228 - N.REA 205930 La Web Agency per la realizzazione del tuo sito web
Privacy Policy