web-dev-qa-db-ja.com

すべての投稿タイトルを[タイトルケース]形式に変更

私は以下のフォーマットのタイトルで約2000の投稿をしています。

[i like apples]

私はそれらを作りたいです:

[I Like Apples]

私は WPタイトルケースプラグイン を使用しましたが、問題はこのプラグインが投稿自体のタイトルを大文字化するだけなので、h1は普通に見えますが<title><head>では、まだ大文字は使用されていません。本物の非大文字のタイトルはデータベースから取得されていると思います。

データベースのテーブル内の列を大文字にするSQLスクリプトか、頭の中の<title>を通常の形式に変更するphpスクリプトがあるでしょうか。

1
Adam S.

編集:WPタイトルフック

さて、あなたがwp_titleを使っているのなら(たぶんそれがデフォルトでしょう)、その関数には2つのフィルタがあるはずです。

最初のものはwp_title_partsで、タイトルを配列に分割して返します。

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' );

大文字のフィルタをすべて実行しても問題ない場合は、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' );

2番目の答えは、全体的に問題ないので理解しやすいですが、タイトルが次のようになっているとします。

About Us | COMPANY NAME

それから、あなたはおそらく最初の選択肢で行きたいと思うでしょう。

いつものように、フックとフィルタで、これらはあなたのテーマのfunctions.phpに入ります。

古い答え(CSSのみ)

表示が気になる場合は、そのまま適用できます。

text-transform: capitalize;

あなたのh1のCSSへ。

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

2
socki03

あなたはfunctions.phpでワードプレスフックを使用することができますがsocki03が答えたように私はこれがabitより良いと思う

add_filter( 'wp_title', 'ucwords' );

私はまだこれがabitのやり過ぎだと思います

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' );

私は彼の答えをコメントすることができないので答えとしてこれを残しています:)

1
blackstar