Snippets WordPress incontournables

Dernière mise à jour : 02/11/2022

Gestion de contenu

Autoriser des types MIME supplémentaires pour le téléversement de fichier

function my_custom_mime_types($mime_types){
    $mime_types['gpx'] = 'application/gpx+xml'; // Permettre l'upload de fichier GPX 
    $mime_types['svg'] = 'image/svg+xml'; // Un classique, on devrait pouvoir uploader des fichiers SVG par défaut non ?
    return $mime_types;
}
add_filter('upload_mimes', 'my_custom_mime_types', 1, 1);

Ajouter un CPT au flux RSS

/* 
** Ajouter le CPT "photo" au flux RSS 
*/
add_filter( 'request', 'wpm_myfeed_request' );
function wpm_myfeed_request( $qv ) {
    if ( isset( $qv['feed'] ) && !isset( $qv['post_type'] ) ) {
		// Ici on choisit quels customs posts types seront présents dans le flux RSS ; ici, on n'aura que les contenus de type "photo"
  	 	$qv['post_type'] = [ 'photo' ];
    }
    return $qv;
}

Configuration de WordPress

Désactiver la barre de navigation admin pour tous les utilisateurs

add_action('after_setup_theme', 'remove_admin_bar');
function remove_admin_bar() {
    if (!current_user_can('administrator') && !is_admin()) {
        show_admin_bar(false);
    }
}

Créer un compte administrateur

Petit code très utile et que j’ai récupéré du côté de github. Il vous permet, et si vous avez accès au site en FTP, de créer un compte utilisateur avec le rôle d’administrateur.

add_action( 'init', function () {
  
	$username = 'admin';
	$password = 'password';
	$email_address = 'webmaster@mydomain.com';

	if ( ! username_exists( $username ) ) {
		$user_id = wp_create_user( $username, $password, $email_address );
		$user = new WP_User( $user_id );
		$user->set_role( 'administrator' );
	}
	
} );

Requêtes

Sélectionner des auteurs de façon aléatoire avec get_users()

Code à placer dans functions.php afin d’ajouter une valeur possible à orderby dans les paramètres de la fonction get_users, et donc WP_User_Query.

add_action( 'pre_user_query', 'my_random_user_query' );

function my_random_user_query( $class ) {
    if( 'rand' == $class->query_vars[ 'orderby' ] )
        $class->query_orderby = str_replace( 'user_login', 'RAND()', $class->query_orderby );

    return $class;
}

SEO

Ajouter un élément dans le fil d’ariane Yoast SEO

Le code ci-dessous permet d’ajouter un élément juste après l’élément « Accueil ».
Source : https://gist.github.com/QROkes/62e07eb167089c366ab9

// Add an element after "Home" to Yoast SEO breadcrumbs. (WordPress)
add_filter( 'wpseo_breadcrumb_links', 'qr_add_breadcrumb' );
function qr_add_breadcrumb( $links ) {
    $breadcrumb[] = array(
        'url' => 'URL',
        'text' => 'Text',
    );
    array_splice( $links, 1, -2, $breadcrumb );
    return $links;
}

Je suis Thanh Nguyen, artisan du Web depuis 1998 et le doublé de Zidane en finale de coupe du monde.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *