web-dev-qa-db-fra.com

Changer tous les titres du post au format [Title Case]

J'ai environ 2000 articles avec les titres dans le format suivant:

[i like apples]

Je veux les faire:

[I Like Apples]

J'ai utilisé le plugin WP Title Case , mais le problème est que ce plugin ne fait que capitaliser le titre du message lui-même, si bien que h1 a l'air normal, mais <title> dans <head> n'est toujours pas capitalisé. Je suppose que les vrais titres non capitalisés sont extraits de la base de données.

Peut-être existe-t-il un script SQL pour capitaliser la colonne dans la table de la base de données ou un script php pour changer le <title> en tête au format normal?

1
Adam S.

EDIT: WP crochet de titre

Ok, donc si vous utilisez wp_title (ce que vous êtes probablement, c’est la valeur par défaut), cette fonction devrait avoir deux filtres que vous pourriez utiliser.

Le premier est wp_title_parts, qui retourne votre titre en un tableau.

function wp_title_capitalize( $title_parts ) {

    // Only uppercases the words of the first element (should be the page title)
    $title_parts[0] = ucwords( $title_parts[0] );

    return $title_parts;

}
add_filter( 'wp_title_parts', 'wp_title_capitalize' );

OU si vous êtes d'accord pour exécuter le filtre majuscule sur l'ensemble, vous pouvez l'exécuter sur wp_title

function wp_full_title_capitalize( $title, $sep, $seplocation ) {

    // Uppercases the entire title
    $title = ucwords( $title );

    return $title;

}
add_filter( 'wp_title', 'wp_full_title_capitalize' );

La deuxième réponse est plus facile à comprendre, car elle s’applique à l’ensemble, mais si vos titres ressemblent à

About Us | COMPANY NAME

Ensuite, vous voudrez probablement utiliser la première option.

Comme toujours, avec les hooks et les filtres, ceux-ci vont dans functions.php de votre thème.

Ancienne réponse (CSS SEULEMENT)

Si vous êtes uniquement préoccupé par l'affichage, vous pouvez simplement appliquer

text-transform: capitalize;

au CSS de votre h1.

http://www.w3schools.com/cssref/playit.asp?filename=playcss_text-transform&preval=capitalize

3
socki03

Vous pouvez utiliser les hooks wordpress dans functions.php, mais comme socki03 a répondu, je pense que c'est un peu mieux

add_filter( 'wp_title', 'ucwords' );

Je crois toujours que c'est un peu exagéré

function wp_full_title_capitalize( $title, $sep, $seplocation ) {

    // Uppercases the entire title
    $title = ucwords( $title );

    return $title;

}
add_filter( 'wp_title', 'wp_full_title_capitalize' );

Je ne peux pas commenter sa réponse alors je laisse cela comme une réponse :)

2
blackstar