Désactiver des champs dans la page commande

Pour désactiver des champs dans la page commande dans WooCommerce ajouter le code suivant dans le fichier function.php de votre thème WordPress :

add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' );
 
function custom_override_checkout_fields( $fields ) {
   // unset($fields['billing']['billing_first_name']);
   // unset($fields['billing']['billing_last_name']);
   // unset($fields['billing']['billing_company']);
   // unset($fields['billing']['billing_address_1']);
   // unset($fields['billing']['billing_address_2']);
   // unset($fields['billing']['billing_city']);
   // unset($fields['billing']['billing_postcode']);
   // unset($fields['billing']['billing_country']);
   // unset($fields['billing']['billing_state']);
   // unset($fields['billing']['billing_phone']);
   // unset($fields['order']['order_comments']);
   // unset($fields['billing']['billing_address_2']);
   // unset($fields['billing']['billing_postcode']);
   // unset($fields['billing']['billing_company']);
   // unset($fields['billing']['billing_last_name']);
   // unset($fields['billing']['billing_email']);
   // unset($fields['billing']['billing_city']);
    return $fields;
}

Liste des champs complète par défaut.

Changer l’email des notifications pour les commentaires dans WordPress

Par défaut WordPress reprend l’adresse email de l’admin pour tout ce qui est notification, et il n’y a pas de paramètre pour changer l’adresse email pour les notifications d’un nouveau commentaire ou d’une réponse. Avec le code suivant, vous pourrez changer l’adresse email du destinataire si vous êtes webmaster et que vous gérez le site par exemple.

 

Ajouter le code suivant dans votre fichier function.php de votre Thème WordPress puis a la dernière changer l’adresse email et le tour est jouer !

add_filter('comment_notification_recipients', 'override_comment_notice_repicient', 10, 2);

function override_comment_notice_repicient($emails, $comment_id) {

	$comment = get_comment( $comment_id );
	if ( empty( $comment ) )
		return $emails;

	$post = get_post( $comment->comment_post_ID );

	if ( $post->post_type != "post")
		return $emails;

	return array('moi@mon-email.com');
}

Ajouter une classe CSS au dernier article publié

Ce filtre va voues permettre d’ajouter une classe CSS au dernier article publié, pour par exemple le mettre en valeur avec une couleur différente ou un petit logo news par exemple.

add_filter( 'post_class', 'post_class_example' );
 
function post_class_example( $classes ) {
    global $wp_query;
    if ( 0 == $wp_query->current_post ) {
        $classes[] = 'post-new';
    }
    return $classes;
}

Modifier le formulaire des articles protégé par mot de passe

Le filtre ci-dessous va permettre de modifier le formulaire des articles protégé par un mot de passe.

add_filter( 'the_password_form', 'the_password_form_example' );
 
function the_password_form_example() {
    $output  = '<form action="' . esc_url( site_url( 'wp-login.php?action=postpass', 'login_post' ) ) . '" method="post">';
    $output .= '<span>' . __( "Enter the password:" ) . ' </span>';
    $output .= '<input name="post_password" type="password" size="20" />';
    $output .= '<input type="submit" name="Submit" value="' . esc_attr__( "Go" ) . '" />';
    $output .= '</form>';
    return $output;
}

Retiré la balise paragraphe de vos images

WordPress ne nous laisse pas afficher les images à l’extérieur d’un paragraphe il ajoute automatiquement la balise <p>, ce qui peut-être gênant si vous êtes fâché avec cette balise et que vous voulez les supprimer ajouté le code suivant :

add_filter( 'the_content', 'the_content_example' );
 
function the_content_example( $content ) {
    return preg_replace('/<p>\s*(<a .*>)?\s*(<img .* \/>)\s*(<\/a>)?\s*<\/p>/iU', '\1\2\3', $content);
}

Introduction a la fonction add_filter de WordPress

Comment fonctionne les filtres WordPress ?

Les filtres aussi appelé hooks permettent de modifier le comportement d’une fonction, que se soit pour le thème ou l’administration de WordPress. Le filtre sera appliqué à un certain moment de l’exécution de la fonction.

 

Création d’un filtre WordPress

<?php add_filter( $tag, $function_to_add, $priority, $accepted_args ); ?>

 

$tag  (obligatoire) nom du filtre.

$function_to_add  (obligatoire)– non de la fonction a supprimer.

$priority  (facultatif) – Un nombre entier pour spécifier quand notre fonction sera exécutée. La valeur par défaut est 10.

$accepted_args  (facultatif) – Un nombre entier pour définir le nombre d’arguments que le filtre accepte. La valeur par défaut est 1.

 

Prenons un exemple : Imaginiez que vous créez une fonction qui retourne une phrase:

function fred_quote() {
    $quote = "Une voiture rouge.";
     return $quote;
}

Si vous voulez laisser des personnes filtrer cette citation, vous devez utiliser apply_filter() comme ceci :

function fred_quote() {
    $quote = "Une voiture rouge.";
     return apply_filters( 'fred_quote', $quote );
}

La fonction apply_filter va autoriser la modification de la fonction et la variable ($quote) qui contient les données.

<?php apply_filters( $tag, $value, $var ... ); ?>

$tag (obligatoire)– nom de la fonction

$value (obligatoire) -La valeur qui peut être modifiée par des filtres

$var () (facultatif) -variable supplémentaire.

apply_filter peut être utilisé en dehors d’une fonction.

 

De cette façon, un autre développeur pourra changer les données de votre fonction comme ceci :

function change_fred_quote( $quote ) {
    $quote = str_replace( 'rouge', 'verte', $quote );
    return $quote;
}
 
add_filter( 'fred_quote', 'change_fred_quote' );

WordPress contient plusieurs centaines de fonctions qui peuvent être modifiées ou améliorées, c’est pourquoi je vais faire une liste de filtres que vous pourrez appliquer à votre blog WordPress :

[list-posts]